Hoe kan ik via VB6 en Parameter queries datum velden in oracle vullen.
Voor het vullen van je datum velden in oracle moet je in je SQL* een to_date()
functie gebruiken. Wanneer ik vanuit vb een datum wil wegschrijven in Oracle
en het SQL statment gebruik:
"insert into bats (bats_Date) values (to_date(14012004, 'ddmmyyyy')"
schrijft hij het keurig weg in oracle.
Ik wil vanwege de overzichtelijkheid en omdat het makkelijk werkt de data invoeren via parameter queries. (zoals hier onder beschreven) En dat werkt goed.
Echter wanneer ik een datum moest invullen kreeg ik de eerste foutmelding. Dacht dit op te lossen door de datum functie te laten uitvoeren door de dual tabel aan te roepen. En zo de waarde in mijn datum veld te plaatsen. Toen kreeg ik deze foutmelding:
run-time error '-2147217887(80040e21)':
Multiple-step OLE DB operation generated errors. Check each OLE DB
status value, if available. No work was done
Heb tevens geprobeert de datum via een ander format te stuuren maar dat mocht niet uitmaken.
[code]
Dim cnn As ADODB.Connection
Dim sCnnString As String
Dim cmdSQL As New ADODB.Command
Dim sString As String
Dim rssql As ADODB.Recordset
Dim sformat As String
Set cnn = New ADODB.Connection
sCnnString = "DSN=DAM;User ID=ERS;Password=xxx;"
cnn.Open sCnnString
cmdSQL.ActiveConnection = cnn
sString = "INSERT INTO bats (bats_id, bats_date) VALUES (?,?)"
cmdSQL.CommandText = sString
cmdSQL.CommandType = adCmdText
cmdSQL.Parameters.Append cmdSQL.CreateParameter("@Bats_ID", adNumeric, adParamInput, 10)
cmdSQL.Parameters.Append cmdSQL.CreateParameter("@Bats_Date", adDate, adParamInput)
Set rssql = cnn.Execute("SELECT to_date(14012004, 'ddmmyyyy') datum from dual")
cmdSQL.Parameters("@Bats_ID").Value = 1
cmdSQL.Parameters("@Bats_Date").Value = rssql("datum")
cmdSQL.Execute
[\code]
Voor het vullen van je datum velden in oracle moet je in je SQL* een to_date()
functie gebruiken. Wanneer ik vanuit vb een datum wil wegschrijven in Oracle
en het SQL statment gebruik:
"insert into bats (bats_Date) values (to_date(14012004, 'ddmmyyyy')"
schrijft hij het keurig weg in oracle.
Ik wil vanwege de overzichtelijkheid en omdat het makkelijk werkt de data invoeren via parameter queries. (zoals hier onder beschreven) En dat werkt goed.
Echter wanneer ik een datum moest invullen kreeg ik de eerste foutmelding. Dacht dit op te lossen door de datum functie te laten uitvoeren door de dual tabel aan te roepen. En zo de waarde in mijn datum veld te plaatsen. Toen kreeg ik deze foutmelding:
run-time error '-2147217887(80040e21)':
Multiple-step OLE DB operation generated errors. Check each OLE DB
status value, if available. No work was done
Heb tevens geprobeert de datum via een ander format te stuuren maar dat mocht niet uitmaken.
[code]
Dim cnn As ADODB.Connection
Dim sCnnString As String
Dim cmdSQL As New ADODB.Command
Dim sString As String
Dim rssql As ADODB.Recordset
Dim sformat As String
Set cnn = New ADODB.Connection
sCnnString = "DSN=DAM;User ID=ERS;Password=xxx;"
cnn.Open sCnnString
cmdSQL.ActiveConnection = cnn
sString = "INSERT INTO bats (bats_id, bats_date) VALUES (?,?)"
cmdSQL.CommandText = sString
cmdSQL.CommandType = adCmdText
cmdSQL.Parameters.Append cmdSQL.CreateParameter("@Bats_ID", adNumeric, adParamInput, 10)
cmdSQL.Parameters.Append cmdSQL.CreateParameter("@Bats_Date", adDate, adParamInput)
Set rssql = cnn.Execute("SELECT to_date(14012004, 'ddmmyyyy') datum from dual")
cmdSQL.Parameters("@Bats_ID").Value = 1
cmdSQL.Parameters("@Bats_Date").Value = rssql("datum")
cmdSQL.Execute
[\code]