在C#窗体上创建了一个datagridview1,并手动添加了这些数据,如何将这些数据插入到SQL表中.

在C#窗体上创建了一个datagridview1,并手动添加如下图的这些数据,如何通过一个按钮单击事件将这些数据插入到SQL一张表中,该表的结构和datagridview一样,三个字段,字段顺序也相同,跪谢~!

下面是按钮的click事件的代码,你复制到里面,然后把表名改一下,数据库的连接如果你没有配置在web.config中的话就改成
SqlConnection conn = new SqlConnection("server=服务名;Initial catalog=数据库名;user ID=用户名;password=密码;");
下面的代码还有完善的地方,比如用数据库连接用using会比较合适。
有问题再追问吧。
protected void btn_Insert_Click(object sender, EventArgs e)
    {
        //连接字串"SqlConnString" 写到配置文件(web.config)中
        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SqlConnString"].ConnectionString);
 
        SqlTransaction tran = null;
        try
        {
            conn.Open();
             
            for(int i=0 ; i<gvd.Rows.Count; i++)
            {
                string sqlStr = "";
                SqlCommand comm = new SqlCommand();
                tran = conn.BeginTransaction();
 
                string gdh = gvd.Rows[i].Cells[0].Text.Trim().ToString();
                string pn = gvd.Rows[i].Cells[1].Text.Trim().ToString();
                int dc = Convert.ToInt32((gvd.Rows[i].Cells[2].Text.Trim().ToString()));
         
                SqlStr += "INSERT 表名(工单号,PN,Datacode) VALUES ('" + gdh + "','" + pn + "','" + dc + "');" ;
             
 
                comm.CommandText = SqlStr;
                comm.Connection = conn; 
                comm.Transaction = tran;
                comm.ExecuteNonQuery();
            }
        }
        catch (Exception ex)
        {
            Response.Write("更新失败,失败原因:" + ex.Message);
            tran.Rollback();             //事务回滚
        }
        finally
        {
            conn.Close();
        }
    }

追问

我改了后执行报错:sqlConnection 不支持并行事务

追答

把关于transaction的代码都注销掉

//SqlTransaction tran = null;
 //tran = conn.BeginTransaction();
//comm.Transaction = tran;
//tran.Rollback();

 有问题再追问,望采纳。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-22
用2维数组记录信息,再循环插入到数据表中;
在datagridview中添加数据时(发生改变时)将数据一并插入2维数组中。追问

本人菜鸟,能否提供详细的代码,跪谢~~~!!!

追答

你这个是要实现批量导入数据吗

第2个回答  2014-08-22
在按钮的Click事件中写啊,遍历gridview取到数据,连接数据库然后用SQL语句插入Insert进去就好了
//intsert into table
SqlConnection conn = new SqlConnection(dataBaseStr);
try
{
conn.Open();
String sqlInsert = String.Format("insert into Users values('{0}','{1}','{2}','{3}','{4}','{5}')", accID, name, age, gender, tel, email);
SqlCommand sqlCmd = new SqlCommand(sqlInsert, conn);
sqlCmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
}
finally
{
if (conn!=null)
{
conn.Close();
Response.Redirect("ShowAllUser.aspx");
}
}本回答被网友采纳
相似回答