各位达人,我遇到一个问题,我设置了一个datagridview,里面显示有从数据库中读取的数据,我想保存修改后的数据回数据库中!
我知道这要用到DATASET,但是现在我遇到一个问题,读取数据我用的是一个函数来实现的,然后,里面设置了与数据库表相关的DATASET,但是这个DATASET是局部变量,现在我要在另一个按钮函数中,实现保存,该怎么做呢?望各位达人不吝赐教!相关代码!
private void master_datagridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
String temp;
temp = this.master_datagridview.CurrentRow.Cells[0].Value.ToString(); SqlConnection myConnetion = new SqlConnection("server=(local);database=医院体检系统;Trusted_Connection=yes");
DataSet mydataset = new DataSet();
mydataset.Locale = System.Globalization.CultureInfo.InvariantCulture;
String sqlString = "select 病人体检结果.项目明细名称,结果,标志,参考值,单位 from 病人体检结果,项目明细表,项目信息 where 病人体检结果.编号='"+this.id_label.Text+"' and 病人体检结果.项目明细编号=项目明细表.项目明细编号 and 项目明细表.项目编号=项目信息.项目编号 and 项目信息.项目名称='"
+ temp + "'";
SqlDataAdapter mydataAdapter = new SqlDataAdapter(sqlString, myConnetion);
mydataAdapter.Fill(mydataset, "myset");
this.detail_bindingsource.DataSource = mydataset;
this.detail_bindingsource.DataMember = "myset";
this.detail_datagridview.DataSource = this.detail_bindingsource;
this.detail_datagridview.AllowUserToResizeColumns = true;
}
这个函数是我要实现保存的函数!
private void save_result_btn_Click(object sender, EventArgs e)
{ }
我知道这要用到DATASET,但是现在我遇到一个问题,读取数据我用的是一个函数来实现的,然后,里面设置了与数据库表相关的DATASET,但是这个DATASET是局部变量,现在我要在另一个按钮函数中,实现保存,该怎么做呢?望各位达人不吝赐教!相关代码!
private void master_datagridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
String temp;
temp = this.master_datagridview.CurrentRow.Cells[0].Value.ToString(); SqlConnection myConnetion = new SqlConnection("server=(local);database=医院体检系统;Trusted_Connection=yes");
DataSet mydataset = new DataSet();
mydataset.Locale = System.Globalization.CultureInfo.InvariantCulture;
String sqlString = "select 病人体检结果.项目明细名称,结果,标志,参考值,单位 from 病人体检结果,项目明细表,项目信息 where 病人体检结果.编号='"+this.id_label.Text+"' and 病人体检结果.项目明细编号=项目明细表.项目明细编号 and 项目明细表.项目编号=项目信息.项目编号 and 项目信息.项目名称='"
+ temp + "'";
SqlDataAdapter mydataAdapter = new SqlDataAdapter(sqlString, myConnetion);
mydataAdapter.Fill(mydataset, "myset");
this.detail_bindingsource.DataSource = mydataset;
this.detail_bindingsource.DataMember = "myset";
this.detail_datagridview.DataSource = this.detail_bindingsource;
this.detail_datagridview.AllowUserToResizeColumns = true;
}
这个函数是我要实现保存的函数!
private void save_result_btn_Click(object sender, EventArgs e)
{ }
private void save_result_btn_Click(object sender, EventArgs e)
{
this.detail_dataAdapter.Update(this.detail_dataSet);
MessageBox.Show("结果保存成功!");
}
望不吝赐教
this._adapter = new System.Data.SqlClient.SqlDataAdapter();
System.Data.Common.DataTableMapping tableMapping = new System.Data.Common.DataTableMapping();
tableMapping.SourceTable = "Table";
tableMapping.DataSetTable = "Order Details";
tableMapping.ColumnMappings.Add("OrderID", "OrderID");
tableMapping.ColumnMappings.Add("ProductID", "ProductID");
tableMapping.ColumnMappings.Add("UnitPrice", "UnitPrice");
tableMapping.ColumnMappings.Add("Quantity", "Quantity");
tableMapping.ColumnMappings.Add("Discount", "Discount");
this._adapter.TableMappings.Add(tableMapping);
呵呵,msdn上看了一下,没有看懂,如果不是很麻烦的话,你能帮我写一下吗?我的程序如下
public partial class Edit_result : Form
{
public String id;
DataSet detail_dataSet = new DataSet();
SqlDataAdapter detail_dataAdapter;
public Edit_result()
{
InitializeComponent();
} private void Edit_result_Load(object sender, EventArgs e)
{
this.id_label.Text = id;
Get_masterData();
this.master_datagridview.DataSource = this.master_bingdsource;
this.master_datagridview.AllowUserToResizeColumns = true;
} private void label3_Click(object sender, EventArgs e)
{ }
private void Get_masterData()
{
try
{
SqlConnection myConnection = new SqlConnection("server=(local);database=医院体检系统;Trusted_Connection=yes");
DataSet mydataSet = new DataSet();
mydataSet.Locale = System.Globalization.CultureInfo.InvariantCulture; String sqlString = "select 项目名称 from 病人项目信息_视图 where 编号 = '" + this.id_label.Text + "'"; SqlDataAdapter myDataAdapter = new SqlDataAdapter(sqlString, myConnection);
myDataAdapter.Fill(mydataSet, "mytest");
this.master_bingdsource.DataSource = mydataSet;
this.master_bingdsource.DataMember = "mytest";
}
catch (SqlException ex)
{
MessageBox.Show("插入数据错误! " + ex.Message.ToString());
}
} private void master_datagridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
String temp;
temp = this.master_datagridview.CurrentRow.Cells[0].Value.ToString(); SqlConnection myConnetion = new SqlConnection("server=(local);database=医院体检系统;Trusted_Connection=yes");
//DataSet mydataset = new DataSet();
this.detail_dataSet.Clear();
this.detail_dataSet.Locale = System.Globalization.CultureInfo.InvariantCulture;
String sqlString = "select 病人体检结果.项目明细名称,结果,标志,参考值,单位 from 病人体检结果,项目明细表,项目信息 where 病人体检结果.编号='"+this.id_label.Text+"' and 病人体检结果.项目明细编号=项目明细表.项目明细编号 and 项目明细表.项目编号=项目信息.项目编号 and 项目信息.项目名称='"
+ temp + "'";
this.detail_dataAdapter = new SqlDataAdapter(sqlString, myConnetion);
this.detail_dataAdapter.Fill(this.detail_dataSet, "myset");
this.detail_bindingsource.DataSource = this.detail_dataSet;
this.detail_bindingsource.DataMember = "myset";
this.detail_datagridview.DataSource = this.detail_bindingsource;
this.detail_datagridview.AllowUserToResizeColumns = true;
} private void save_result_btn_Click(object sender, EventArgs e)
{
this.detail_dataAdapter.Update(this.detail_dataSet);
MessageBox.Show("结果保存成功!");
}
}