INSERT语法(转发) [英] INSERT Syntax (repost)
问题描述
很抱歉,但我的帐号有问题(kentoncongs)我不知道为什么我无法登录我的帐户在这里我试图选择忘记密码?但我甚至没有收到邮件,收件箱或我的垃圾邮件......然而tnx回复。
(发给OriginalGriff),我试过那个参数在executetenonquery中仍然存在相同的错误
这里是错误的屏幕截图..
< img src =http://i.imgur.com/VGdiHAP.jpgtitle =source:imgur。 com/>
此处的完整代码:
Sorry but im having problems with the account (kentoncongs) i dont know why i cant login to my account here I tried to select "forget password?" but i didnt even receive the mail, in inbox or in my spam... well nevertheless tnx for the replies.
(addressed to OriginalGriff), i tried that parameter thing but still same error in the executenonquery
here is the screenshot of the error..
<img src="http://i.imgur.com/VGdiHAP.jpg" title="source: imgur.com" />
full code here:
Public Class con_info
Dim con As New OleDb.OleDbConnection
Dim dbProvider As String
Dim dbSource As String
Private Sub Bene_recordsBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bene_recordsBindingNavigatorSaveItem.Click
Me.Validate()
Me.Bene_recordsBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Bene_dbDataSet)
End Sub
Private Sub con_info_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Bene_dbDataSet.bene_records' table. You can move, or remove it, as needed.
Me.Bene_recordsTableAdapter.Fill(Me.Bene_dbDataSet.bene_records)
con = New OleDb.OleDbConnection
dbProvider = "Provider=Microsoft.Jet.OLEDB.4.0;"
dbSource = "Data Source = C:\Users\RedemptorisMater\Desktop\S..\Kenton\B...\bene_db.mdb"
con.ConnectionString = dbProvider & dbSource
btnSave.Enabled = True
btnClose.Enabled = True
F_nameTextBox.Clear()
M_nameTextBox.Clear()
L_nameTextBox.Clear()
AddTextBox.Clear()
Home_numTextBox.Clear()
Cell_numTextBox.Clear()
End Sub
Private Sub RefreshData()
If Not con.State = ConnectionState.Open Then
con.Open()
End If
Dim da As OleDb.OleDbDataAdapter
Dim Sql As String
Sql = "SELECT * FROM bene_records"
da = New OleDb.OleDbDataAdapter(Sql, con)
Dim dt As New DataTable
da.Fill(dt)
con.Close()
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim cmd As New OleDb.OleDbCommand
Dim inc As Integer
Dim ds As New DataSet
If Not con.State = ConnectionState.Open Then
con.Open()
End If
cmd.Connection = con
cmd.CommandText = "INSERT INTO bene_records(f_name, m_name, l_name, b_date, add, home_num, cell_num)VALUES(@F_nameTextBox, @M_nameTextBox, @L_nameTextBox, @B_dateDateTimePicker, @AddTextBox, @Home_numTextBox, @Cell_numTextBox)"
cmd.Parameters.AddWithValue("@F_nameTextBox", F_nameTextBox.Text)
cmd.Parameters.AddWithValue("@M_nameTextBox", M_nameTextBox.Text)
cmd.Parameters.AddWithValue("@L_nameTextBox", L_nameTextBox.Text)
cmd.Parameters.AddWithValue("@B_dateDateTimePicker", B_dateDateTimePicker)
cmd.Parameters.AddWithValue("@AddTextBox", AddTextBox.Text)
cmd.Parameters.AddWithValue("@Home_numTextBox", Home_numTextBox.Text)
cmd.Parameters.AddWithValue("@Cell_numTextBox", Cell_numTextBox.Text)
cmd.ExecuteNonQuery()
RefreshData()
con.Close()
End Sub
End Class
推荐答案
快速查看它似乎'好',这个例外
a quick look and it 'seems' ok, with this exception
cmd.Parameters.AddWithValue("@B_dateDateTimePicker", B_dateDateTimePicker)
我不知道数据库中b_date列的数据类型是什么,但我也很想建议你应该是做类似的事情
I don't know what data type the b_date column in the database is, but Im also tempted to suggest that you should be doing something like
cmd.Parameters.AddWithValue("@B_dateDateTimePicker", B_dateDateTimePicker.Value)
取决于b_date列的数据类型,您需要结果(.Value)的格式正确为d atabase - 我想你可能还需要在那个值上做一个.ToString()
我的建议是,如果可能的话,打印/转储确切的在
depending on the data type for the b_date column, you'd need the result (.Value) to be in the correct format for the database - Im thinking you might also need to do a .ToString() on that value
my suggestion would be, if its possible, to print out/dump the exact SQL that's been formed, right before the
cmd.ExecuteNonQuery();
声明并查看它是否正常
如果这些都不起作用你将不得不等待,看看OG是醒着还是其他人有任何想法
statement and see if it looks ok
if none of this works you'll have to wait and see if OG is awake or anyone else has any ideas
你需要使用[]作为列名的保留sql关键字
you need to use [] for the reserved sql keywords as column names
INSERT INTO bene_records(f_name, m_name, l_name, b_date, [add], home_num, cell_num)VALUES(@F_nameTextBox, @M_nameTextBox, @L_nameTextBox, @B_dateDateTimePicker, @AddTextBox, @Home_numTextBox, @Cell_numTextBox)
查看 Microsoft列表Jet 4.0保留字 [ ^ ]
这篇关于INSERT语法(转发)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!