你的SqlConnection有没有open啊?或者sql语句改成insert into Worker(WorkerID,WorkerName,WorkerLogin,WorkerPassword,Birthday,WorkerEmail,BranchnumID,WorkerCompensation,Wposition,Wphone) values('"+textBox5.Text+"','"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox9.Text+"','"+textBox6.Text+"','"+textBox7.Text+"','"+textBox10.Text+"','"+textBox8.Text+"','"+textBox11.Text+"')试试

解决方案 »

  1.   

    没有open.
    SQL语句改了之后就出现了语法错误。
      

  2.   

    da.link()???这里应该放的是  数据库连接的吧应该是SqlConnection类型的吧…………
      

  3.   

    insert into 表名[(字段1,...)] values(.....);
      

  4.   

    SqlCommand sqlcomm1 = new SqlCommand("insert into Worker"+" (WorkerID,WorkerName,WorkerLogin,WorkerPassword,Birthday,WorkerEmail,BranchnumID,WorkerCompensation,Wposition,Wphone)"+
                   "values(@WorkerID,@WorkerName,@WorkerLogin,@WorkerPassword,@Birthday,@WorkerEmail,@BranchnumID,@WorkerCompensation,@Wposition,@Wphone)",da.link());
                sqlcomm1.Connection.Open();
                sqlcomm1.Parameters.AddWithValue("@WorkerID",textBox5.Text);
                sqlcomm1.Parameters.AddWithValue("@WorkerName",textBox1.Text);
                sqlcomm1.Parameters.AddWithValue("@WorkerLogin" , textBox2.Text);
                sqlcomm1.Parameters.AddWithValue("@WorkerPassword",textBox3.Text);
                sqlcomm1.Parameters.AddWithValue("@Birthday" , textBox9.Text);
                sqlcomm1.Parameters.AddWithValue("@WorkerEmail" , textBox6.Text);
                sqlcomm1.Parameters.AddWithValue("@Wposition" , textBox7.Text);
                sqlcomm1.Parameters.AddWithValue("@BranchnumID" ,textBox10.Text);
                sqlcomm1.Parameters.AddWithValue("@Wphone" ,textBox8.Text);
                sqlcomm1.Parameters.AddWithValue("@WorkerCompensation" , textBox11.Text);
                sqlcomm1.ExecuteNonQuery();
    我把他改成以上代码,还是不行。怎么回事啊?
      

  5.   

    建议LZ断点调试 把sql语句放到查询分析器看看就知道了
    sqlcomm1.Connection.Open();
    要关闭的
      

  6.   

    Sqlconnection写了没,insert看下1L,别的没问题