保存按钮代码:
private void bt_save_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
SqlDataAdapter myAdapter=new SqlDataAdapter();
ds=da.UpdateByDataSet(ds, "financetable");
myAdapter.Update(ds, "financetable");
dataGridView1.DataSource = ds.Tables["financetable"];
}UpdateByDataSet代码:
public DataSet UpdateByDataSet(DataSet ds,string tbname)
{
SqlCommand myCommand = new SqlCommand("select * from financetable", conn);
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand );
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
DataTable tb = null;
tb = ds.Tables["financetable"];
try
{
conn.Open();
myAdapter.Fill(ds,"financetable");
myAdapter.Update(ds, "financetable");
ds.GetChanges();
ds.AcceptChanges();
conn.Close();
}
catch(Exception err)
{
err.ToString();
conn.Close();
}
return ds;
}哪里出问题了,貌似是datagridview数据改变后,dataTable值没有变化,要怎么修改?
private void bt_save_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
SqlDataAdapter myAdapter=new SqlDataAdapter();
ds=da.UpdateByDataSet(ds, "financetable");
myAdapter.Update(ds, "financetable");
dataGridView1.DataSource = ds.Tables["financetable"];
}UpdateByDataSet代码:
public DataSet UpdateByDataSet(DataSet ds,string tbname)
{
SqlCommand myCommand = new SqlCommand("select * from financetable", conn);
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand );
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
DataTable tb = null;
tb = ds.Tables["financetable"];
try
{
conn.Open();
myAdapter.Fill(ds,"financetable");
myAdapter.Update(ds, "financetable");
ds.GetChanges();
ds.AcceptChanges();
conn.Close();
}
catch(Exception err)
{
err.ToString();
conn.Close();
}
return ds;
}哪里出问题了,貌似是datagridview数据改变后,dataTable值没有变化,要怎么修改?
data是我自己定义的数据库类
private DataTable dt; void Bind()
{
SqlConnection connection = new SqlConnection();
string connectionString = "server=.;uid=sa;pwd=sa;database=QiDian10";
connection.ConnectionString = connectionString;
dataAdapter = new SqlDataAdapter("select * from NewsInfo", connection);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
dt = new DataTable("NewsInfo");
dataAdapter.Fill(dt);
dataGridView1.DataSource = dt;
}private void bt_save_Click(object sender, EventArgs e)
{
dt=(DataTable)dataGridView1.DataSource;
dataAdapter.Update(dt);
}
//声明类级变量 这代码咱看了熟悉
private SqlDataAdapter dataAdapter;
private dataset ds;//查询数据并绑定datagridview
public DataSet UpdateByDataSet(DataSet ds,string tbname)
{
SqlCommand myCommand = new SqlCommand("select * from financetable", conn);
myAdapter = new SqlDataAdapter(myCommand ); //
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
try
{
conn.Open();
myAdapter.Fill(ds,"financetable");
conn.Close();
dataGridView1.DataSource = ds.Tables["financetable"];
}
catch(Exception err)
{
err.ToString();
conn.Close();
}
return ds;
}
//保存按钮代码:网速咱这么卡..回复不了
private void bt_save_Click(object sender, EventArgs e)
{
myAdapter.Update(ds, "financetable"); //这样就可以把数据库更新了...
}
public void bt_select_Click(object sender, EventArgs e)
{
SqlCommand myCommand = new SqlCommand("select * from financetable", conn);
myAdapter = new SqlDataAdapter(myCommand ); //
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
try
{
conn.Open();
myAdapter.Fill(ds,"financetable");
conn.Close();
dataGridView1.DataSource = ds.Tables["financetable"];
}
catch(Exception err)
{
messagebox.show(err.ToString());
conn.Close();
}
}
//昨天就发过关于这个问题的贴的,还没解决
dataGridView1.DataSource = ds.Tables["financetable"];
不能放在那段代码里吧
按你的代码,找不到table“financetable”,会报错的
private dataset ds=new dataset();//点击查询按钮 查询数据并绑定datagridview 这里是一个点击查询的动作
public void bt_select_Click(object sender, EventArgs e)
{
SqlCommand myCommand = new SqlCommand("select * from financetable", conn);
myAdapter = new SqlDataAdapter(myCommand );
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
ds.clear();
try
{
conn.Open();
myAdapter.Fill(ds,"table");
conn.Close();
dataGridView1.DataSource = ds.Tables["table"];
}
catch(Exception err)
{
messagebox.show(err.ToString());
conn.Close();
}
}
//点击保存按钮
private void bt_save_Click(object sender, EventArgs e)
{
myAdapter.Update(ds, "table"); //这样就可以把数据库更新了...
}
另外,这个只适合对表操作,如果datasource是多个表的组合的话,也不能成功。