|
|
Comments and Discussions
|
|
 |
|

|
nice good learning knowledge for new person like me thanks alot once again ericcisco
|
|
|
|

|
This is best example. Thank-you very much
|
|
|
|

|
nice tut, easy to understand
|
|
|
|

|
Hello !
I've just find out your code and I think it is fantastic !
But i don't understand the use of CreateParameter before Execute. What is the utility of the string first parameter in cmd_get_Click works? In fact, how to know the parameter number ?
And after, I try to use your code with ORACLE DBMS !!
I have added "cmd.Parameters.Refresh" before the use of CreateParameter and strangely, the program crashes when the provider is oracle built one and it is OK when the provider is microsoft one.
WHY ?
To promote computer science in Africa !
modified on Friday, April 18, 2008 7:03 AM
|
|
|
|

|
Hello!
I am trying to apply this on my Access VBA. However, I get an error saying
Runtime Error 3704:
Operation is not allowed when the object is closed
on the following code, and it highlighted the 'If Not rs.EOF Then'
...
set rs = cmd.Execute
If Not rs.EOF Then
Debug.Print rs.RecordCount
Else
Debug.Print "Empty"
End If
Why is this so?
Vinz
|
|
|
|

|
Ignore the question. I found where the problem was! Thanks!
OB
|
|
|
|

|
Hi there, in your explanation you mentioned....
"You should set cmd as a new command object"
Set cmd = new adodb.command
....why is that necessary? since we use
Dim cmd as adodb.command
I understand that we DIDN'T use the NEW keyword in
Dim cmd as adodb.command, but I would like to know why we DIDN'T use the NEW keyword in declaring the command object and why we DID use the NEW keyword for the connection object and the recordset object.
I would appreciate it if you could explain this.
Also could you explain what exactly happens when we write
Dim cmd as adodb.command
and what happens when we write
Set cmd = new adodb.command
what's the difference between them.
Thanx
Kinara
-- modified at 12:56 Wednesday 4th April, 2007
|
|
|
|

|
Hi Kinara,
Your question is a nice one and I am happy that you read the article throughly otherwise you won't ask this question.
Kinara wrote: could you explain what exactly happens when we write
Dim cmd as adodb.command
and what happens when we write
Set cmd = new adodb.command
what's the difference between them.
what is the differece between a dim statement and a dim statement with a "New" keyword ?
Dim statement is used to declare one or more variables or objects.
If the New keyword is used, then an implicit creation of the object is made.
Dim cmd As ADODB.Command ' This will declare the object variable.
Set cmd = New ADODB.Command ' Instantiate the object variable
Also you can find that
Dim i as Interger 'This will declare the variable as Interger type.
Dim i as New Integer ' Error - You Can't do this since Integer is not an object type
Kinara wrote: I would like to know why we DIDN'T use the NEW keyword in declaring the command object and why we DID use the NEW keyword for the connection object and the recordset object.
Dim con As New ADODB.Connection 'This will declare and instantiate the object variable
We are using a single connection object through out the project
and hence it is declared in the global declaration section (Same with recordset).
As you know when an object is created , its values persist.
In the case of cmd (command object) "cmd.Parameters.Append" changes in two cases.
by using
Set cmd = New ADODB.Command
we ensure that each time a new command object is created, upon which we do our operations.
Thanks & Regards
Sujith
|
|
|
|

|
hi
here is a copy of a cde i use topen my data base but i get this error saying sql not available or i do not have access or permission and i am using a windows authentication. pls is anything wrong and please i need help am running man.
<<i>big>Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim con As ADODB.Connection
con = New ADODB.Connection
'ConnectionString property value
con.ConnectionString = "Provider=SQLOLEDB;UID=;pwd=;" & "Data Source=employee;Initial Catalog=pencom_standalone"
con.Open()
stivisa
|
|
|
|

|
hi stivisa,
Data Source=employee, here "employee" should be the computer name you are using, if not use your computer name.
if you created a dsn, then you can open the connection by
con.open "employee","",""
ie dsn name, userid, pass . it is better to give a uid and password.
Sujith
|
|
|
|

|
How do you get the return value from SP if not specifically declared within the SP?
Example:
CREATE procedure sp_ValidateStudent
(
@StudentID as nvarchar(40),
@Password as nvarchar(8)
)
as
if (select count(StudentID) from Students where StudentID = @StudentID and Password = @Password) > 0
begin
return 1
end
else
begin
return 0
end
GO
|
|
|
|

|
I know it's been a while since this question was asked, but here's the answer. Maybe it will help someone else searching for this.
You have to manually create an extra parameter in your VB code. It should look like this:
cmd.Parameters.Append cmd.CreateParameter("ReturnVal", adInteger, adParamReturnValue)
From what I've read, the restrictions on it are as follows:
It must be the first parameter you create/append.
It must be of type "adInteger".
However, from what I can tell, it doesn't matter what you name it. After you execute the command, you may check it's value as you would an output parameter; i.e. ReturnValue = cmd.Parameters("ReturnVal")
|
|
|
|

|
In fact, if the stored procedure is like that, how to do ?
CREATE PROCEDURE empdetails @empid int, @response nvarchar
AS
SELECT @response = FirstName FROM Employees WHERE EmployeeID=@empid
GO
How to retrieve the response value after the execution of the stored proc?
And can we get the result without using
cmd.Parameters.Append cmd.CreateParameter("empid", adVarChar, adParamInput, 6, str_empid)
For example, to use cmd.Parameters.Refresh and to know the parameters' count and to get them by parameter number ?
To promote computer science in Africa !
|
|
|
|

|
The example was very useful for me, you have taken care to make it simple. Now i have a simple question. I have my own database and a dsn for the same. How can i connect using the dsn.
|
|
|
|

|
As I have mentioned in the article, to create a Connection object, you need to supply the name of either an ODBC data source or an OLE DB provider. In the example I used the SQLOLEDB provider.
Private Sub Form_Load()
strconnect = "Provider=SQLOLEDB;Data Source=suj;Initial Catalog=Northwind"
con.Open strconnect, "sa", ""
End Sub
If you have created a dsn, it is easy to connect to the database. You only need to specify the dsn name , username and password in the open method of the Connection object. Say if your dsn name is "abc" , username is "user" and passsword is "pass". Then use the following statement.
Private Sub Form_Load()
con.Open "abc","user","pass"
End Sub
Sujith
|
|
|
|

|
The source code (simple_sp_vb6.zip) for this article appears to be missing :->
There's no place like 127.0.0.1
|
|
|
|

|
Sorry,it may happened while I uploaded the file. Thanks for your post, now it is downloadable.
Sujith
|
|
|
|

|
However, at least in older versions of ADO, order is important in stored procedure calls against SQL Server. Usually requiring the ampersand. Also, this article would be an excellent place to throw in the use of prepared commands. Also with your example I think a fast forward read only cursor should be specified, although ADO may ignore it.
On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage
|
|
|
|

|
how to get a return value from sql server stored procedure?
|
|
|
|

|
Please see the "Using OUTPUT parameter in Stored Procedures" section of the article. I think this is what you asked.Thanks for your question.
sujithcjose@yahoo.com
http://www.sujith.cjb.net
|
|
|
|
 |
|
|
General News Suggestion Question Bug Answer Joke Rant Admin
|
Describes how to use a simple stored procedure in Visual Basic 6.0
| Type | Article |
| Licence | CPOL |
| First Posted | 18 Aug 2006 |
| Views | 282,029 |
| Downloads | 2,658 |
| Bookmarked | 44 times |
|
|