INSERT语法(转发) [英] INSERT Syntax (repost)

查看:142
本文介绍了INSERT语法(转发)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

很抱歉,但我的帐号有问题(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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆