如何使用Oracle数据库从数据网格视图更新表 [英] How can Update table from data grid view using Oracle database

查看:83
本文介绍了如何使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆