如何手动更新GridView到数据库???
有这个的一个类:
public class GVType{ public int CartID { get; set; } public int MemberID { get; set; } public int GoodID { get; set; } public string Name { get; set; } public decimal MemberPrice { get; set; } public int Count { get; set; } public decimal Total { get; set; } public string Unit { get; set; } public string SettleWay { get; set; } public DateTime AddTime { get; set; } public string Unit_Show { get; set; }}private static List<GVType> SCart;static public IEnumerable<GVType> GetDataSourse(int memberID) { if (SCart == null) { //从数据库中得到DataSet并填充到SCart去 } return SCart; }GridView1.DataSource = BLL_GridView.GetDataSourse(1000);
public class GVType{ public int CartID { get; set; } public int MemberID { get; set; } public int GoodID { get; set; } public string Name { get; set; } public decimal MemberPrice { get; set; } public int Count { get; set; } public decimal Total { get; set; } public string Unit { get; set; } public string SettleWay { get; set; } public DateTime AddTime { get; set; } public string Unit_Show { get; set; } public int IsDel {get;set;}}
[解决办法]
一般用 断开式连接就可以搞定了吧!
以下是代码段。
private DataSet dataSet = new DataSet();
private SqlDataAdapter dataAdapter;
private SqlConnection conn;
//构造方法里 获取 conn连接
.........
//加载事件
private void Form1_Load(object sender, EventArgs e)
{
try
{
//查询SQL语句
string sql = "select * form 表1";
//初始化DataAdapter
dataAdapter = new SqlDataAdapter(sql, conn);
//填充DataSet
dataAdapter.Fill(dataSet, "表1");
//指定DataGridView的数据源
DgvTeacher.DataSource = dataSet.Tables["表1"];
}
catch (Exception ex)
{
MessageBox.Show("查找数据时出错", "错误提示");
}
}
//保存按钮事件
private void button1_Click(object sender, EventArgs e)
{
try
{
DialogResult result = MessageBox.Show("确定要修改数据到数据库中吗?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
//自动生成修改的Command命令
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);
//提交给数据库更新
dataAdapter.Update(dataSet, "表1");
MessageBox.Show("保存修改成功!","操作提示");
}
}
catch (Exception ex)
{
MessageBox.Show("修改出错了!","错误提示");
Console.WriteLine(ex.Message);
}
}