当前位置:编程学习 > C#/ASP.NET >>

插入数据中代码cmd.ExecuteNonQuery()出错,怎么解决?

我是在VB.net下写的代码,想实现插入数据功能。但是运行到这里cmd.ExecuteNonQuery()就出错.
代码:
 Dim connstr, insertcmd As String
        connstr = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source=homework.mdb"
        insertcmd = "Insertinto Enternumber(username,password,易做图,work,tel,mail) values (@用户名,@密码,@性别,@职业,@电话,@邮箱)"
        Dim conn As OleDbConnection, cmd As OleDbCommand
        conn = New OleDbConnection(connstr)
        conn.Open()
        cmd = New OleDbCommand(insertcmd, conn)
        cmd.Parameters.Add(New OleDbParameter("@用户名", OleDbType.VarChar))
        cmd.Parameters.Add(New OleDbParameter("@密码", OleDbType.VarChar))
        cmd.Parameters.Add(New OleDbParameter("@性别", OleDbType.VarChar))
        cmd.Parameters.Add(New OleDbParameter("@职业", OleDbType.VarChar))
        cmd.Parameters.Add(New OleDbParameter("@电话", OleDbType.VarChar))
        cmd.Parameters.Add(New OleDbParameter("@邮箱", OleDbType.VarChar))
        cmd.Parameters("@用户名").Value = Val(txtName.Text)
        cmd.Parameters("@密码").Value = Val(txtpassword.Text)
        cmd.Parameters("@性别").Value = Val(txt易做图.Text)
        cmd.Parameters("@职业").Value = Val(txtwork.Text)
        cmd.Parameters("@电话").Value = Val(txtTel.Text)
        cmd.Parameters("@邮箱").Value = Val(txtmail.Text)
        cmd.ExecuteNonQuery()
        conn.Close()
        message = "恭喜你,注册成功!赶快去登陆吧!"
        MessageBox.Show(message, "", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1) --------------------编程问答-------------------- Insertinto -->Insert into --------------------编程问答-------------------- 你好.我已经把Insertinto   --> Insert   into 改过来了。运行还是出错.而且是原来的那个错误. --------------------编程问答-------------------- 我已经改过来了。但运行时候还是会出错.错误是原来的哪个地方.
怎么回事? --------------------编程问答-------------------- 你把抱错信息贴出来 --------------------编程问答-------------------- 你所加入数据的数据类型是否正确,以及所加入数据的数据长度是否和数据表的字段相符.试试看. --------------------编程问答--------------------  它运行后显示:未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。

--------------------编程问答-------------------- 有关调用实时(JIT)调试而不是此对话框的详细信息,
请参阅此消息的结尾。

************** 异常文本 **************
System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   at 我的大作业.zhuce.btnOK_Click(Object sender, EventArgs e) in E:\我的VB作业试验报告。\我的大作业\zhuce.vb:line 360
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 已加载的程序集 **************
mscorlib
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.2407
    基本代码: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
我的大作业
    程序集版本: 1.0.2911.19957
    Win32 版本: 1.0.2911.19957
    基本代码: file:///E:/我的VB作业试验报告。/我的大作业/bin/我的大作业.exe
----------------------------------------
System.Windows.Forms
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.2032
    基本代码: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.2407
    基本代码: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.2032
    基本代码: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System.Xml
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.2032
    基本代码: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
Microsoft.VisualBasic
    程序集版本: 7.0.5000.0
    Win32 版本: 7.10.6001.4
    基本代码: file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
System.Data
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.2032
    基本代码: file:///c:/windows/assembly/gac/system.data/1.0.5000.0__b77a5c561934e089/system.data.dll

这个是在窗体中运行中出现的错误提示:insert into 语法错误:
----------------------------------------
System.Windows.Forms.resources
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_zh-chs_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------

************** JIT 调试 **************
计算机的配置文件(machine.config)的 
 system.windows.forms 节中必须设置 jitDebugging 值。
编译应用程序时还必须启用\r\n调试。\r\n\r\n例如: \r\n\r\n<configuration>\r\n    <system.windows.forms jitDebugging="true" />\r\n</configuration>\r\n\r\n启用 JIT 调试后,任何未处理的异常\r\n都将被发送到此计算机上注册的 JIT 调试器,\r\n而不是由此对话框处理。\r\n
--------------------编程问答-------------------- 数据库里的类型都选择是文本.应该没有错.长度什么的都没有限制. --------------------编程问答-------------------- access??

Insertinto   Enternumber([username],[password],[易做图],[work],[tel],[mail]) values ... --------------------编程问答--------------------  cmd .CommandType = CommandType.StoredProcedure
樓主少設了這個屬性,因為用到了存諸過程。 --------------------编程问答-------------------- 恩。我的数据库是access的.
我刚才改了.Enternumber([username],[password],[易做图],[work],[tel],[mail])   values   ....
但是还是运行错误.还是同一个错误.
郁闷了... --------------------编程问答-------------------- 你现在access里面写一个可以通过的sql语句,贴过来就可以了Insert into  Enternumber([username],[password],[易做图],[work],[tel],[mail])   values   ...
这样应该是没有 问题的,只要不合access的关键字冲突就可以了 --------------------编程问答-------------------- 关键字?数据表中的关键字有什么重要的作用吗?
和书写的代码有什么关系? --------------------编程问答-------------------- 我的数据表里有id_no   ,username,password,易做图,work   ,tel,mail 
关键字是:id_no.这个有关系吗? --------------------编程问答-------------------- 同志们,帮帮忙忙,我下个礼拜就要交大作业了.郁闷死了... --------------------编程问答-------------------- 你现在access里面写一个可以通过的sql语句,贴过来就可以了Insert   into     Enternumber([username],[password],[易做图],[work],[tel],[mail])       values       ... 
这样应该是没有   问题的,只要不合access的关键字冲突就可以了

这位大哥,十分感谢。我换成sql语句写法了.真的成功了.谢谢.万分感谢.
[ ]这个是写关键自的意思吗?
和关键字有什么关系?
请解释一下.
谢谢.
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,