使用dataGrid控件,如何更新数据库。 窗体一共有2个按钮,一个是显示数据,一个是更新数据库。单击[显示数据],可以将数据显示在dataGrid控件中,在对dataGrid控件显示的数据进行更新后,按[更新数据库]可以将数据更新到数据库中。[更新数据库]这个按钮的代码该怎么写?希望大家指点一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 把“显示数据”的时候把数据填充到一个DataSet里面,再把这个DataSet个DataGrid进行绑定2 用SqlDataAdapter来进行更新 Modified取得所修改過的行,然後UPDATA到數據庫中 using System;using System.Collections.Generic;using System.Text;using DAL.IDAL;using DBProcess;using System.Data;using System.Data.SqlClient;namespace DAL.SqlServerDAL{ /// <summary> /// 数据库数据处理 /// 编码 : Walker /// 时间 : 2008-04-02 /// </summary> public class PhoneInfo : IPhoneInfo { /// <summary> /// 插入新的商品信息 /// </summary> /// <param name="phoneInfo">商品信息</param> public void InsertPhoneInfo(Model.PhoneInfo phoneInfo) { //插入商品的Sql命令 string insertSql = "insert into ProductsInfo values(@PhoneID,@PhoneName,@PhoneType,@PhoneUnit,@PhoneColor,@PhonePrice,@PhoneSize,@PhoneStyle,@PhoneOS,@ProvideID,@StoreAmount,@StoreID)"; //设置参数 SqlParameter[] parasInsert = new SqlParameter[]{ new SqlParameter("@PhoneID",SqlDbType.Char), new SqlParameter("@PhoneName",SqlDbType.VarChar), new SqlParameter("@PhoneType",SqlDbType.VarChar), new SqlParameter("@PhoneUnit",SqlDbType.Char), new SqlParameter("@PhoneColor",SqlDbType.Char), new SqlParameter("@PhonePrice",SqlDbType.Money), new SqlParameter("@PhoneSize",SqlDbType.VarChar), new SqlParameter("@PhoneStyle",SqlDbType.VarChar), new SqlParameter("@PhoneOS",SqlDbType.VarChar), new SqlParameter("@ProvideID",SqlDbType.Int), new SqlParameter("@StoreAmount",SqlDbType.Int), new SqlParameter("@StoreID",SqlDbType.Int) }; //为参数赋值 parasInsert[0].Value = phoneInfo.PhoneID; parasInsert[1].Value = phoneInfo.PhoneName; parasInsert[2].Value = phoneInfo.PhoneType; parasInsert[3].Value = phoneInfo.PhoneUnit; parasInsert[4].Value = phoneInfo.PhoneColor; parasInsert[5].Value = phoneInfo.PhonePrice; parasInsert[6].Value = phoneInfo.PhoneSize; parasInsert[7].Value = phoneInfo.PhoneStyle; parasInsert[8].Value = phoneInfo.PhoneOS; parasInsert[9].Value = phoneInfo.ProvideID; parasInsert[10].Value = phoneInfo.StoreAmount; parasInsert[11].Value = phoneInfo.StoreID; //执行插入 SqlHelper.ExecuteSqlCommond(insertSql , parasInsert); } /// <summary> /// 更新商品信息的方法 /// </summary> /// <param name="phoneInfo">商品信息</param> public void UpdatePhoneInfo(Model.PhoneInfo phoneInfo) { //更新商品信息的Sql命令 string updateSql = "update ProductsInfo set PhoneName=@PhoneName,PhoneType=@PhoneType,PhoneUnit=@PhoneUnit,PhoneColor=@PhoneColor,PhonePrice=@PhonePrice,PhoneSize=@PhoneSize,PhoneStyle=@PhoneStyle,PhoneOS=@PhoneOS,ProvideID=@ProvideID,StoreAmount=@StoreAmount,StoreID=@StoreID where PhoneID = @PhoneID"; //设置参数 SqlParameter[] updateParas = new SqlParameter[]{ new SqlParameter("@PhoneName",SqlDbType.VarChar), new SqlParameter("@PhoneType",SqlDbType.VarChar), new SqlParameter("@PhoneUnit",SqlDbType.Char), new SqlParameter("@PhoneColor",SqlDbType.Char), new SqlParameter("@PhonePrice",SqlDbType.Money), new SqlParameter("@PhoneSize",SqlDbType.VarChar), new SqlParameter("@PhoneStyle",SqlDbType.VarChar), new SqlParameter("@PhoneOS",SqlDbType.VarChar), new SqlParameter("@ProvideID",SqlDbType.Int), new SqlParameter("@StoreAmount",SqlDbType.Int), new SqlParameter("@StoreID",SqlDbType.Int), new SqlParameter("@PhoneID",SqlDbType.Char) }; //为参数赋值 updateParas[0].Value = phoneInfo.PhoneName; updateParas[1].Value = phoneInfo.PhoneType; updateParas[2].Value = phoneInfo.PhoneUnit; updateParas[3].Value = phoneInfo.PhoneColor; updateParas[4].Value = phoneInfo.PhonePrice; updateParas[5].Value = phoneInfo.PhoneSize; updateParas[6].Value = phoneInfo.PhoneStyle; updateParas[7].Value = phoneInfo.PhoneOS; updateParas[8].Value = phoneInfo.ProvideID; updateParas[9].Value = phoneInfo.StoreAmount; updateParas[10].Value = phoneInfo.StoreID; updateParas[11].Value = phoneInfo.PhoneID; //执行更新 SqlHelper.ExecuteSqlCommond(updateSql , updateParas); } /// <summary> /// 删除商品信息 /// </summary> /// <param name="PhoneID">商品编号</param> public void DeletePhoneInfo(string PhoneID) { //删除商品信息的Sql命令 string deleteSql = "delete from ProductsInfo where PhoneID=" + "'" + PhoneID + "'"; //执行删除 SqlHelper.ExecuteSqlCommond(deleteSql); } }} C#.NET中遇到的问题,求大神解释 求助,WPF4程序,MessageBox样式问题 怎么不管用啊? 格式化问题 解决马上给分 读取xml特定的子节点 急求!!从一个数据文件中读取数据添加到另一个数据文件中。 怎样在windows forms 里生成 dll文件? c# winform编程 请问有没有能够插入图片,表格的文本编辑控件? TXT文件导入数据库问题 asp.net中保存图片至当前目录抛出异常"GDI+ 中发生一般性错误。" 一个小问题: 用C#和正则表达式进行一个简单的公式分析 方法的调用
2 用SqlDataAdapter来进行更新
using System.Collections.Generic;
using System.Text;
using DAL.IDAL;
using DBProcess;
using System.Data;
using System.Data.SqlClient;namespace DAL.SqlServerDAL
{
/// <summary>
/// 数据库数据处理
/// 编码 : Walker
/// 时间 : 2008-04-02
/// </summary>
public class PhoneInfo : IPhoneInfo
{ /// <summary>
/// 插入新的商品信息
/// </summary>
/// <param name="phoneInfo">商品信息</param>
public void InsertPhoneInfo(Model.PhoneInfo phoneInfo)
{
//插入商品的Sql命令
string insertSql = "insert into ProductsInfo values(@PhoneID,@PhoneName,@PhoneType,@PhoneUnit,@PhoneColor,@PhonePrice,@PhoneSize,@PhoneStyle,@PhoneOS,@ProvideID,@StoreAmount,@StoreID)"; //设置参数
SqlParameter[] parasInsert = new SqlParameter[]{
new SqlParameter("@PhoneID",SqlDbType.Char),
new SqlParameter("@PhoneName",SqlDbType.VarChar),
new SqlParameter("@PhoneType",SqlDbType.VarChar),
new SqlParameter("@PhoneUnit",SqlDbType.Char),
new SqlParameter("@PhoneColor",SqlDbType.Char),
new SqlParameter("@PhonePrice",SqlDbType.Money),
new SqlParameter("@PhoneSize",SqlDbType.VarChar),
new SqlParameter("@PhoneStyle",SqlDbType.VarChar),
new SqlParameter("@PhoneOS",SqlDbType.VarChar),
new SqlParameter("@ProvideID",SqlDbType.Int),
new SqlParameter("@StoreAmount",SqlDbType.Int),
new SqlParameter("@StoreID",SqlDbType.Int)
};
//为参数赋值
parasInsert[0].Value = phoneInfo.PhoneID;
parasInsert[1].Value = phoneInfo.PhoneName;
parasInsert[2].Value = phoneInfo.PhoneType;
parasInsert[3].Value = phoneInfo.PhoneUnit;
parasInsert[4].Value = phoneInfo.PhoneColor;
parasInsert[5].Value = phoneInfo.PhonePrice;
parasInsert[6].Value = phoneInfo.PhoneSize;
parasInsert[7].Value = phoneInfo.PhoneStyle;
parasInsert[8].Value = phoneInfo.PhoneOS;
parasInsert[9].Value = phoneInfo.ProvideID;
parasInsert[10].Value = phoneInfo.StoreAmount;
parasInsert[11].Value = phoneInfo.StoreID;
//执行插入
SqlHelper.ExecuteSqlCommond(insertSql , parasInsert);
} /// <summary>
/// 更新商品信息的方法
/// </summary>
/// <param name="phoneInfo">商品信息</param>
public void UpdatePhoneInfo(Model.PhoneInfo phoneInfo)
{
//更新商品信息的Sql命令
string updateSql = "update ProductsInfo set PhoneName=@PhoneName,PhoneType=@PhoneType,PhoneUnit=@PhoneUnit,PhoneColor=@PhoneColor,PhonePrice=@PhonePrice,PhoneSize=@PhoneSize,PhoneStyle=@PhoneStyle,PhoneOS=@PhoneOS,ProvideID=@ProvideID,StoreAmount=@StoreAmount,StoreID=@StoreID where PhoneID = @PhoneID"; //设置参数
SqlParameter[] updateParas = new SqlParameter[]{
new SqlParameter("@PhoneName",SqlDbType.VarChar),
new SqlParameter("@PhoneType",SqlDbType.VarChar),
new SqlParameter("@PhoneUnit",SqlDbType.Char),
new SqlParameter("@PhoneColor",SqlDbType.Char),
new SqlParameter("@PhonePrice",SqlDbType.Money),
new SqlParameter("@PhoneSize",SqlDbType.VarChar),
new SqlParameter("@PhoneStyle",SqlDbType.VarChar),
new SqlParameter("@PhoneOS",SqlDbType.VarChar),
new SqlParameter("@ProvideID",SqlDbType.Int),
new SqlParameter("@StoreAmount",SqlDbType.Int),
new SqlParameter("@StoreID",SqlDbType.Int),
new SqlParameter("@PhoneID",SqlDbType.Char)
};
//为参数赋值
updateParas[0].Value = phoneInfo.PhoneName;
updateParas[1].Value = phoneInfo.PhoneType;
updateParas[2].Value = phoneInfo.PhoneUnit;
updateParas[3].Value = phoneInfo.PhoneColor;
updateParas[4].Value = phoneInfo.PhonePrice;
updateParas[5].Value = phoneInfo.PhoneSize;
updateParas[6].Value = phoneInfo.PhoneStyle;
updateParas[7].Value = phoneInfo.PhoneOS;
updateParas[8].Value = phoneInfo.ProvideID;
updateParas[9].Value = phoneInfo.StoreAmount;
updateParas[10].Value = phoneInfo.StoreID;
updateParas[11].Value = phoneInfo.PhoneID;
//执行更新
SqlHelper.ExecuteSqlCommond(updateSql , updateParas);
} /// <summary>
/// 删除商品信息
/// </summary>
/// <param name="PhoneID">商品编号</param>
public void DeletePhoneInfo(string PhoneID)
{
//删除商品信息的Sql命令
string deleteSql = "delete from ProductsInfo where PhoneID=" + "'" + PhoneID + "'";
//执行删除
SqlHelper.ExecuteSqlCommond(deleteSql);
} }
}