如何使用Oracle数据库从数据网格视图更新表 [英] How can Update table from data grid view using Oracle database
本文介绍了如何使用Oracle数据库从数据网格视图更新表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用过 在桌子下面
ID PO NAME QTY
----- ----------- ------ -------------------- -------
1 10 Product1
2 12 Product2
3 11产品3
4 13产品4
5 16产品5
6 15产品6
以及用于加载数据到datagridview的代码,
public static string connection =" Provider = OraOLEDB.Oracle.1; Data Source = xe; Password = 654321; User ID = abc; unicode =真英寸;
OleDbConnection con = new OleDbConnection(connection);
private void Form1_Load(object sender,EventArgs e)
{
dataload();
}
private void dataload()
{
OleDbDataAdapter adp = new OleDbDataAdapter(" select id,name,qty from tblProduct",con );
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Columns [0] .Width = 50;
dataGridView1.Columns [1] .Width = 200;
}
如何更新数量 关于tblprouduct 从 数据网格视图,其中PO编号形式为textbox1.Tex 和name = product1或Product 2?
我想要的使用鼠标点击从这里删除
怎么可能?
解决方案
要实现这一需求,请尝试以下方法:
OracleDataAdapter adapter = null;
DataSet dSet = null;
private static string strConn =" here is connection string" ;;
private void Form1_Load(object sender,EventArgs e)
{
adapter = new OracleDataAdapter(" select * from UserInfo",strConn);
dSet = new DataSet();
adapter.Fill(dSet);
dataGridView1.DataSource = dSet.Tables [0];
}
private void button1_Click(object sender,EventArgs e)
{
OracleCommandBuilder scb = new OracleCommandBuilder(adapter);
//更新datagridview中的日期
try
{
adapter.Update(dSet);
}
catch(OracleException ex)
{
MessageBox.Show(ex.Message);
}
//使用(OracleConnection conn = new OracleConnection(strConn))更新textbox
中的日期
{
string sqlUpdateSD =
" update TableName set PO = @ Pvalue where Name = @ Name" ;;
OracleCommand sqlcomUpSD =新的OracleCommand(sqlUpdateSD,conn);
OracleParameter [] parasUSD = new OracleParameter [] {
new OracleParameter(" @ Pvalue",OracleType.VarChar,50),
new OracleParameter(" @ Name",OracleType.VarChar) ,50),
};
parasUSD [0] .Value = textBox1.Text;
parasUSD [1] .Value =" product1" ;;
foreach(parasUSD中的var项目)
{
sqlcomUpSD.Parameters.Add(item);
}
conn.Open();
sqlcomUpSD.ExecuteNonQuery();
}
}
问候,
Kyle
i have use below the table
ID PO NAME QTY ----- ----------------- -------------------- ------- 1 10 Product1 2 12 Product2 3 11 Product3 4 13 Product4 5 16 Product5 6 15 Product6
and below the code use for load data to datagridview,
public static string connection = "Provider=OraOLEDB.Oracle.1;Data Source=xe;Password=654321;User ID=abc;unicode=true"; OleDbConnection con = new OleDbConnection(connection); private void Form1_Load(object sender, EventArgs e) { dataload(); } private void dataload() { OleDbDataAdapter adp = new OleDbDataAdapter("Select id,name,qty from tblProduct", con); DataTable dt = new DataTable(); adp.Fill(dt); dataGridView1.DataSource = dt; dataGridView1.Columns[0].Width = 50; dataGridView1.Columns[1].Width = 200; }
how can i update qty on tblprouduct from data grid view where PO number form textbox1.Tex and name = product1 or Product 2 ?
i want to delete from here using mouse click
how can possible?
解决方案
Hi,
To achieve this demand, try this:
OracleDataAdapter adapter = null; DataSet dSet = null; private static string strConn = "here is connection string"; private void Form1_Load(object sender, EventArgs e) { adapter = new OracleDataAdapter("select * from UserInfo", strConn); dSet = new DataSet(); adapter.Fill(dSet); dataGridView1.DataSource = dSet.Tables[0]; } private void button1_Click(object sender, EventArgs e) { OracleCommandBuilder scb = new OracleCommandBuilder(adapter); //update the date in datagridview try { adapter.Update(dSet); } catch (OracleException ex) { MessageBox.Show(ex.Message); } // update the date in textbox using (OracleConnection conn = new OracleConnection(strConn)) { string sqlUpdateSD =
"update TableName set PO=@Pvalue where Name = @Name"; OracleCommand sqlcomUpSD = new OracleCommand(sqlUpdateSD, conn); OracleParameter[] parasUSD = new OracleParameter[]{ new OracleParameter("@Pvalue", OracleType.VarChar, 50), new OracleParameter("@Name", OracleType.VarChar, 50), }; parasUSD[0].Value = textBox1.Text; parasUSD[1].Value = "product1"; foreach (var item in parasUSD) { sqlcomUpSD.Parameters.Add(item); } conn.Open(); sqlcomUpSD.ExecuteNonQuery(); } }Regards,
Kyle
这篇关于如何使用Oracle数据库从数据网格视图更新表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文