1

以下のコードを使用してデータベースに挿入しようとしていますが、エラーが発生するたびに:

日付形式に構文エラーがありました。[ 式 = @DOB ]

tolongdate、toshortdateなど、利用可能なほぼすべての日付形式を試しましたが、このエラーが何を使用しても表示されます。

データベースの列形式はdatetime. 私が間違っているアイデアはありますか?

コード:

' Insert New User - Create Connection
Dim sqlConn As New SqlCeConnection(My.Settings.CompDbConnectionString)

' Open Connection
sqlConn.Open()

' Query DB
Dim sqlComm As New SqlCeCommand("INSERT INTO Profiles(Title, FirstName, LastName, DOB) VALUES(@Title, '@FirstName', '@LastName', '@DOB')", sqlConn)

' Add Parameters
sqlComm.Parameters.Add(New SqlCeParameter("@Title", SqlDbType.NVarChar)).Value = ComboTitle.SelectedItem.ToString()
sqlComm.Parameters.Add(New SqlCeParameter("@FirstName", SqlDbType.NVarChar)).Value = txtFirstName.Text
sqlComm.Parameters.Add(New SqlCeParameter("@LastName", SqlDbType.NVarChar)).Value = txtLastName.Text
sqlComm.Parameters.Add(New SqlCeParameter("@DOB", SqlDbType.DateTime)).Value = DteDOB.Value.ToUniversalTime

' Insert Into Database
Try
    sqlComm.ExecuteNonQuery()
Catch ex As Exception
    MessageBox.Show("Failed To Update Your Details:" & vbCrLf & ex.Message)
    Exit Sub
End Try

' Close Connection
sqlConn.Close()
4

2 に答える 2

5

アポストロフィを殺してみてください:

INSERT INTO Profiles(Title, FirstName, LastName, DOB) VALUES (@Title, '@FirstName', '@LastName', '@DOB')

ちょうどあるべきです:

INSERT INTO Profiles(Title, FirstName, LastName, DOB) VALUES (@Title, @FirstName, @LastName, @DOB)

于 2012-07-12T18:46:13.850 に答える
0

INSERT ステートメントで @DOB から一重引用符を削除します。それらは必要ありません。

于 2012-07-12T18:47:25.160 に答える