SqlConnection conn = new SqlConnection("server =(local);database = shujuku;uid = sa;pwd = 123456");
                conn.Open();
       string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "',)";
                SqlCommand command = new SqlCommand(tianjia1, conn);
                command.ExecuteNonQuery();
                MessageBox.Show("数据添加成功");
以上是整体代码 运行后就是有这么一个错误 "','附近有语法错误,请高手指教 万分感谢

解决方案 »

  1.   

    string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "')";
      

  2.   

    把sql语句显示出来,就看的清楚了!
      

  3.   

    楼上 怎么显示sql语句呢,我是新手 请指教
      

  4.   

      string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "',)";
    这个逗号
      

  5.   

    SqlConnection conn = new SqlConnection("server =(local);database = shujuku;uid = sa;pwd = 123456");
                    conn.Open();
                    //string xuehao = textBox13.Text, xingming = textBox14.Text, zhuanye = textBox15.Text, xingbie = textBox16.Text, minzu = textBox17.Text, daoshi = textBox18.Text;
                    string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "');
                    SqlCommand command = new SqlCommand(tianjia1, conn);
                    command.ExecuteNonQuery();
                    MessageBox.Show("数据添加成功");我把逗号去了 又有新问题了 就是一直显示两个错误 1:请输入;,2:常量中有换行符。请高手指教 谢谢
      

  6.   

    textBox15.Text .....
    直接写名字貌似不可以的吧。
      

  7.   

    即使加上了.Text 但还是存在那个问题 就是 常量中换行符 
      

  8.   

    textBox13 这是什么?定义的变量,还是控件名称?如果控件名称,起码也得textBox13.Text吧?
      

  9.   

    现在加上.text了 但还是出现那个问题
      

  10.   

    看看你的数据插入了没有,如果成功了,证明问题在messagebox上
    如果插入成功,用
    Response.Write("<script>alert('数据添加成功!');</"+"script>");
    替换你的messagebox那一行~
      

  11.   

    谢谢各位 真的谢谢了 问题解决了 还是自己写代码太粗心了 不是完了.Text就是完了“ 号 哈哈 谢谢大家了 以后又问题还得请教各位 
      

  12.   

    谢谢各位 真的谢谢了 问题解决了 还是自己写代码太粗心了 不是忘了.Text就是忘了“ 号 哈哈 谢谢大家了 以后又问题还得请教各位 
      

  13.   

    SqlConnection conn = new SqlConnection("server =(local);database = shujuku;uid = sa;pwd = 123456");
      conn.Open();
      string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "',)";
      SqlCommand command = new SqlCommand(tianjia1, conn);
      command.ExecuteNonQuery();
      MessageBox.Show("数据添加成功");逗号问题,以后做的话把SQL语句带到查询分析器里面执行一下
      

  14.   


    string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "')";这种SQL语法容易被SQL注入式攻击
    用参数如
    string tianjial="INSERT INTO list(学号) VALUES(@STU)";
      

  15.   

    string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "')";
    最后多了个“,”
      

  16.   

    你可以在调试状态下,生成sql语句,然后把sql语句复制到sql的编辑器中,运行就可以发现问题了
      

  17.   

    最后一个逗号去掉,以后碰到这种情况 先自己跟踪断掉调试下,F10一步步来,应该自己就能解决的,或者你try{}catch{}也可以捕捉错误
      

  18.   

    果断调试,把变量tianjia1 的值输出来看看不就知道了吗?
      

  19.   

    他那是SQL语句语法错误,设置断点取SQL语句内容,然后在查询分析器里测试一下SQL语句不就行了
      

  20.   

     这样写就没问题了
    "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "')";
    其实,这个很多字段的添加,用SqlParameter比较好,不会出现这种问题。
    string sql="insert into list(学号,姓名,专业,性别,民族,导师) values(@txt1,@txt2,@txt3,@txt4,@txt5,@txt6)";SqlParameter[] para = new SqlParameter[]{
    new SqlParameter("@FRowID",MDetail.FRowID),
    new SqlParameter("@FMaterialID",MDetail.FMaterialID),
    new SqlParameter("@FShelfID",MDetail.FShelfID),
    new SqlParameter("@FQty",MDetail.FQty),
    new SqlParameter("@FRe",MDetail.FRe),
    new SqlParameter("@MPeriod",MIn.FPeriod)};SqlCommand cmd = new SqlCommand(sql, Connection);
    cmd.CommandType = CommandType.Text;
    cmd.Parameters.AddRange(values);
    cmd.ExecuteNonQuery();像上面这样写就可以了,还可以防止sql注入。
    希望可以帮助到你
      

  21.   

    汗,一激动,没改完,应该是下面的代码。sorry啊。
    string sql="insert into list(学号,姓名,专业,性别,民族,导师) values(@txt1,@txt2,@txt3,@txt4,@txt5,@txt6)";SqlParameter[] para = new SqlParameter[]{
    new SqlParameter("@txt1",txtbox1.Text),
    new SqlParameter("@txt2",txtbox2.Text),
    new SqlParameter("@txt3",txtbox3.Text),
    new SqlParameter("@txt4",txtbox4.Text),
    new SqlParameter("@txt5",txtbox5.Text),
    new SqlParameter("@txt6",txtbox6.Text)};SqlCommand cmd = new SqlCommand(sql, Connection);
    cmd.CommandType = CommandType.Text;
    cmd.Parameters.AddRange(values);
    cmd.ExecuteNonQuery();
      

  22.   

    简直是个弱智,这样的问题也来CSDN上问?我很负责任得和您说一句,你不适合做开发!!
      

  23.   

    其实,这个很多字段的添加,用SqlParam……
      

  24.   

    输出sql语句到页面上看看,然后复制页面上的sql语句,到数据库里面执行一下。新手最好还是在数据库中把sql语句写好,再到复制到程序里面,把变量修改即可
      

  25.   

    这句前加个断点SqlCommand command = new SqlCommand(tianjia1, conn);
    看看tianjia1的值  放进sql里执行  看能不能成功
      

  26.   

    string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13 + "','" + textBox14 + "','" + textBox15 + "','" + textBox16 + "','" + textBox17 + "','" + textBox18 + "',)";
      

  27.   

    string tianjia1 = "insert into list(学号,姓名,专业,性别,民族,导师) values('" + textBox13.text + "','" + textBox14.text + "','" + textBox15.text + "','" + textBox16.text + "','" + textBox17.text + "','" + textBox18.text + "',)";