解决方案 »

  1.   

    你调试一下,把sql变量的值拿出来,去数据库执行一下。
    string sql = "INSERT INTO dbo.1([姓名],[职务],[任职日期],[离职日期]) values(a,b,c,d)";
    改成
    string sql = "INSERT INTO dbo.1([姓名],[职务],[任职日期],[离职日期]) values('"+a+"','"+b+"','"+c+"','"+d+"')";
      

  2.   

    果然很新,问题一堆.
    private void xx(SqlConnection conn,string a,string b,string c,string d)
    {
        string sql = "INSERT INTO dbo.tabname([姓名],[职务],[任职日期],[离职日期]) values(@a,@b,@c,@d)";
        conn.Open();
        try
        {
            SqlCommand cmd = new SqlCommand(sql, conn);
            AddParameter(cmd, "@a", a);
            AddParameter(cmd, "@b", b);
            AddParameter(cmd, "@c", c);
            AddParameter(cmd, "@d", d);
            cmd.ExecuteNonQuery();
        }
        finally
        {
            conn.Close();
        }
    }private void AddParameter(SqlCommand cmd, string name, string a)
    {
        DbParameter p = cmd.CreateParameter();
        p.ParameterName = name;
        p.DbType = DbType.String;
        p.Value = a;
        p.Direction = ParameterDirection.Input;
        cmd.Parameters.Add(p);
    }
      

  3.   

    SqlCommand cmd = new SqlCommand(sql, conn);
    命令要执行。cmd.ExecuteNonQuery();
      

  4.   

    确定sql语句么有问题。
    你的cmd 什么都么有执行,当让不对了。
    http://msdn.microsoft.com/zh-cn/library/System.Data.SqlClient.SqlCommand(v=vs.110).aspx
      

  5.   

    原来的问题:
    string sql = "INSERT INTO dbo.1([姓名],[职务],[任职日期],[离职日期]) values(a,b,c,d)";
    这a,b,c,d是字符串变量啊,怎么跑到一个字符串常量sql里面去了。。而且cmd命令么执行。1楼拼接字符串的形式虽然暂时解决了问题,但又引发了SQL注入的安全隐患。2楼改成参数化查询,解决了sql语句的问题,并添加了cmd.ExecuteNonQuery();算是真正解决了问题。总得数据库操作流程不熟悉:
    【打开数据库】-【实例化查询字符串并附加参数】-【执行查询】-【判断执行结果和处理结果集】-【关闭数据库】
      

  6.   

    绑定DataGridView控件连接数据库呈现数据
     private void Form1_Load(object sender, EventArgs e)
            {
                SqlDataAdapter sda = new SqlDataAdapter(//创建SqlDataAdapter对象
                    "select * from tb_student",
                    "server=WPPP-MOUI877YVW\\MROWW;database=db_test;Trusted_Connection=true");
                DataSet ds = new DataSet();//创建数据集DataSet对象
                sda.Fill(ds);//调用SqlDataAdapter对象的Fill()方法填充数据集
                dataGridView1.DataSource = ds.Tables[0];//将数据集绑定到DataGridView1控件
            }
      

  7.   

    SqlCommand cmd = new SqlCommand(sql, conn);
    cmd.ExecuteNonQuery();
    否则你拼接好了sql语句不执行,就相当于白忙乎了