C#winform如何通过Datagridview向数据库增加数据

dataGridView已经绑定了数据,查询的表显示在dataGridView中,想要在最后一行插入一行数据,并点击“插入按钮”即可插入到数据库中,怎么弄呢?

我是新手,求教大神,给出详细的程序,我来研究一下,谢谢啦。

tring constr = "server=.;database=School;uid=123;pwd=123;";
SqlConnection conn = new SqlConnection(constr);//创建数据库连接
conn.Open();//打开连接
//往表 Tittle里插入指定内容。
string str = string.Format("insert into Tittle (name,sex,age,birthday) values ('{0}','{1}','{2}','{3}')", textBox1.Text, textBox2.Text,textBox3.Text,textBox4.Text);
SqlCommand cmd = new SqlCommand(str, conn);//对指定的连接conn执行SQL数据操作语句    
int i = cmd.ExecuteNonQuery();//执行指定的sql操作语句。数据库表里的数据就被更新了,i表示受影响的行数。

追问

怎么会出现textBox啊
不是在dataGridView中直接加入数据吗?在SW2最下面一行输入一个数,在SW3最下面一行输入一个数,SW4最下面一行输入一个数,然后点击“插入按钮”,这三个数自动存入到dataGridView所绑定的数据库表中去。
这个怎么实现呢?

追答

我只是举个例子:把几个字符串变量添加到数据库的表里。
你想在Datagridview输入,那就获得Datagridview单元格的值 转换为string类型,再添加。

你也可以不用insert,直接把整个Datagridview的内容更新到数据库里,具体得你去搜索。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-17
写入数据库的具体步骤:
1、首先新建一个项目。
2、建立一个数据库连接类LinkDataBase。因为数据库操作有很多都是重复性工作,所以写一个类来简化对数据库的操作。
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;

namespace Test
...{
class LinkDataBase
...{
//设置连接字符串
private string strSQL;

//与数据库连接
private string connectionString = "Data Source=Localhost;Initial Catalog=Test;Integrated Security=True";

private SqlConnection myConnection;
private SqlCommandBuilder sqlCmdBld;
private DataSet ds = new DataSet();
private SqlDataAdapter da;
public LinkDataBase()
...{
}

//根据输入的SQL语句检索数据库数据
public DataSet SelectDataBase(string tempStrSQL, string tempTableName)
...{
this.strSQL = tempStrSQL;
this.myConnection = new SqlConnection(connectionString);
this.da = new SqlDataAdapter(this.strSQL, this.myConnection);
this.ds.Clear();
this.da.Fill(ds, tempStrSQL);
//返回填充了数据的DataSet,其中数据表以tempTableName给出的字符串命名
return ds;
}

//数据库数据更新(传DataSet和DataTable的对象)
public DataSet UpdateDataBase(DataSet changedDataSet, string tableName)
...{
this.myConnection = new SqlConnection(connectionString);
this.da = new SqlDataAdapter(this.strSQL, this.myConnection);
this.sqlCmdBld = new SqlCommandBuilder(da);
this.da.Update(changedDataSet, tableName);
//返回更新过的数据库表
return changedDataSet;
}

//检索数据库数据(传字符串,直接操作数据库)
public DataTable SelectDataBase(string tempStrSQL)
...{
this.myConnection = new SqlConnection(connectionString);
DataSet tempDataSet = new DataSet();
this.da = new SqlDataAdapter(tempStrSQL, this.myConnection);
this.da.Fill(tempDataSet);
return tempDataSet.Tables[0];
}

//数据库数据更新(传字符串,直接操作数据库)
public int UpdateDataBase(string tempStrSQL)
...{
this.myConnection = new SqlConnection(connectionString);
myConnection.Open();
SqlCommand tempSqlcommand = new SqlCommand(tempStrSQL, this.myConnection);
int intNumber = tempSqlcommand.ExecuteNonQuery();
myConnection.Close();
return intNumber;
}
}
}本回答被网友采纳
相似回答