Conn.Open();
string strInsert="insert into admin(name,password) values('"+TextBox1.Text+"','"+TextBox2.Text+"')";
OleDbCommand InsertComm = new OleDbCommand(strInsert,Conn);
InsertComm.ExecuteNonQuery();
Conn.Close();异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。

解决方案 »

  1.   

    F9设断点,得到组装的SQL语句,放到查询分析器里面执行,就知道是哪错了.
      

  2.   

    还是用存储过程写规范点!(要声明TEXTBOX。TEXT的数据类型)
      

  3.   

    password是关键字,修改该字段名字试试
      

  4.   

    string strInsert="insert into admin(name,password) values('"+TextBox1.Text+"','"+TextBox2.Text+"')";
    strInsert 是字符串呀,所写的各个字段时非空字段。做出,烦呀!
      

  5.   

    string strInsert="insert into [admin]([name],[password]) values('"+TextBox1.Text.Replace("'","''")+"','"+TextBox2.Text.Replace("'","''")+"+"')";
      

  6.   

    string strInsert="insert into [admin]([name],[password]) values('"+TextBox1.Text+"','"+TextBox2.Text+"')";加[],因为name,password等是关键字
      

  7.   

    如果我没猜错的话,你插入的是 access 数据库。
    如果是真的,那么错误是 access数据库进行插入或者更新的时候对 int 字段不能用 '',比如说'"+ password.Text +"' ,应该写成 "+ password.Text +"  ,去掉外面的'',而且最好先把password.Text 转换成 int如果你用的是 SQL 服务器,看看有没有类型匹配的问题```
      

  8.   

    谢谢所有发帖的朋友,特别谢谢singlepine(小山),问题解决。
      

  9.   

    Conn.Open();
    string strInsert="insert into admin([name],[password]) values('"+TextBox1.Text+"','"+TextBox2.Text+"')";
    OleDbCommand InsertComm = new OleDbCommand(strInsert,Conn);
    InsertComm.ExecuteNonQuery();
    这样就可以了,谢谢!