这段代码老提示insert into 语句的语法错误不想活啦!!!在线等啊。private void button1_Click(object sender, EventArgs e)
        {
                OleDbConnection con = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; data Source=C:\\Users\\fzw\\Desktop\\system.mdb; Persist Security Info=False");
                con.Open();
                string str1 = "insert into 用户(username,password) values('" + textBox1.Text.ToString() + "','" + pwd.Text.ToString() + "')";
                
                OleDbCommand cmd1 = new OleDbCommand(str1, con);
                cmd1.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("添加成功");        }

解决方案 »

  1.   

    你可以在报异常的时候点监视变量中的异常,查看它的InnerException的Message,看到更具体的原因。
      

  2.   

    debug打印出变量str1,看看是不是因为单引号什么的导致SQL语句有问题
      

  3.   

    一般SQL语句出问题,都是直接放在SQL中运行下  看看有木有 错误的~~~~~  
      

  4.   

    InnerException里值为空,静态成COM什么什么值为很大的一个负数,类型为int
    然后呢?
      

  5.   


    str1为"insert into 用户(username,password) values('dd','dd')"
    应该没错,username和password是文本类型的
      

  6.   

    cmd.CommandType = CommandType.Text这个问题?  
    实在不行就用SQL语句参数使用方法~
      

  7.   

    insert into 用户([username],[password]) values('AA','AA')
      

  8.   

    lz 搞笑,不想活了把最后生成的sql语句打印出来,直接放在查询分析器里面执行了
      

  9.   

    10楼的回答应该是正确的,在Access中需要注意一些系统保留字不能直接写名字,需要用[]括起来,比如ID,直接写ID是有问题的,需要写为[ID]
      

  10.   

    先检查下表中的字段类型是否一致  字段名尽量用[]包含起来   可以把SQL语句打印出来仔细检查下  还有建议表名不要用中文
      

  11.   

    把SQL放到查询分析器里面调试
      

  12.   

    string str= string.Format("insert into 用户(username,password) values('{0}','{1}')",textBox1.Text.ToString(),textBox2.Text.ToString)
      

  13.   

    password userID 这些是保留字段
    在SQL语句中
    需要添加 [] insert into xxx([ID],[password])
      

  14.   

    再一次遇到 数据库表名出现 中文汉字  哎~
    你在 "用户 (username,password)”空一下试试  不过前面说 在查询分析器里面调试没问题,应该不是这儿的问题
      

  15.   

    Text.ToString()
    为什么 要加ToString()?
      

  16.   

    sqlserver中的表名最好用中文,