Om du skall vara ordentlig i access deklarerar du parametrarna först och spara frågan. hm.. okey, tack!Sv: Parameterfråga i sql?
CreateUser;
PARAMETERS [@Name] Text ( 255 ), [@Password] Text ( 255 ), [@EMail] Text ( 255 );
INSERT INTO Users ( UserName, UserPassword, UserEMail )
VALUES ([@Name], [@Password], [@EMail]);
Detta ger du dig oxå möjlighete att använda samma parametrar på flera ställen i frågan.
För att anropa frågan med parametrar i VB använder du command objektet:
Public Sub CreateUser(Conn As ADODB.Connection, Name As String, Password As String, EMail As String)
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Conn
cmd.CommandText = "CreateUser"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@Name", adVarChar, adParamInput, 20, Name)
cmd.Parameters.Append cmd.CreateParameter("@Password", adVarChar, adParamInput, 20, Password)
cmd.Parameters.Append cmd.CreateParameter("@EMail", adVarChar, adParamInput, 50, EMail)
cmd.Execute , , adExecuteNoRecords
End Sub
Om du inte har stöd för parametrar i databasen kan du använda OLEDB's stöd:
Public Sub CreateUser(Conn As ADODB.Connection, Name As String, Password As String, EMail As String)
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Conn
cmd.CommandText = "INSERT INTO Users (UserName, UserPassword, UserEMail)" & vbCrLf & _
"VALUES (?, ?, ?)"
cmd.Parameters.Append cmd.CreateParameter("@Name", adVarChar, adParamInput, 20, Name)
cmd.Parameters.Append cmd.CreateParameter("@Password", adVarChar, adParamInput, 20, Password)
cmd.Parameters.Append cmd.CreateParameter("@EMail", adVarChar, adParamInput, 50, EMail)
cmd.Execute , , adExecuteNoRecords
End Sub
Sv:Parameterfråga i sql?
Vill kunna anråpa en fråga eller tabell från Access via AutoCAD med hjälp av dbconnect?
vet ej om detta är rätt typ av forum jag skriver i med värt ett försök
/mvh Peke