在c#中把oracle表展示在datagridview

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient; //引入oracle的连接对象命名空间



private void Form1_Load(object sender, EventArgs e)
        {
            
            //oraclconnection连接数据库字符串为data source,user id,
            //1,连接数据库
            OracleConnection con1 = new OracleConnection("Data Source=orcl;User id=scott; Password=system;");//oracleconnection类隶属于命名空间system.data.oracleclient
            //2,连接数据库成功,生成执行sql脚本
            OracleCommand oc1 = new OracleCommand("select deptno,dname,loc from dept", con1);
           //OracleDataReader dr = oc1.ExecuteReader();
            //3,生成存放sql运行结果的容器
            DataSet ds1 = new DataSet();
            //4,用适配器把上述sql脚本填充到上述容器中
            OracleDataAdapter da1=new OracleDataAdapter();
            //5,通过适配器的属性把上述命令sql脚本与适配器关联,即让适配器执行上述sql
            da1.SelectCommand = oc1;
            //6,通过适配器的fill方法向空器填充数据
            da1.Fill(ds1);
            //通过展示数据列表的datasource属性与上述已填充数据的空器进行关联.记得空器可能包含多个表,要用dataset.tables[0],仅提取一个表
            this.dataGridView1.DataSource = ds1.Tables[0];
        }

继续上述,如何在选中datagridview某行数据时,显示在窗体对应
的文本框中
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient; //引入oracle的连接对象命名空间

namespace learncomboxanddatagridview
{
    public partial class Form1 : Form
    {
        private DataSet ds1 = new DataSet();
        private OracleDataAdapter da1 = new OracleDataAdapter();
        public int index1;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //属性是否允许用户在列表datagridview中添加或删除数据
            dataGridView1.AllowUserToAddRows = false;
            dataGridView1.AllowUserToDeleteRows = false;
           
            //oraclconnection连接数据库字符串为data source,user id,
            //1,连接数据库
            OracleConnection con1 = new OracleConnection("Data Source=orcl;User id=scott; Password=system;");//oracleconnection类隶属于命名空间system.data.oracleclient
            //2,连接数据库成功,生成执行sql脚本
            OracleCommand oc1 = new OracleCommand("select deptno,dname,loc from dept", con1);
           //OracleDataReader dr = oc1.ExecuteReader();
            //3,生成存放sql运行结果的容器
            DataSet ds1 = new DataSet();
          
           
            //5,通过适配器的属性把上述命令sql脚本与适配器关联,即让适配器执行上述sql
            da1.SelectCommand = oc1;
            //6,通过适配器的fill方法向空器填充数据
            da1.Fill(ds1,"dept");
            //通过展示数据列表的datasource属性与上述已填充数据的空器进行关联.记得空器可能包含多个表,要用dataset.tables[0],仅提取一个表
            this.dataGridView1.DataSource = ds1.Tables[0];
        }
        //datagridview的事件cellclick为单击列表单元格任何部分会触发此事件
        //实现单击列表某一行把对应数据显示在列表下方的对应文本框中

        //selectionchanged事件为选中列表不同行触发此事件
        private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            index1 = dataGridView1.CurrentRow.Index;
            //cells表示每行每个列,一定要在后面添加value.tostring,不然提示转换错误
            this.textBox1.Text =(string)dataGridView1.Rows[index1].Cells[0].Value.ToString();
            this.textBox2.Text = (string)dataGridView1.Rows[index1].Cells[1].Value.ToString();
            this.textBox3.Text = (string)dataGridView1.Rows[index1].Cells[2].Value.ToString();
        }

       

       
    }
}

小结:
          1,定义一个全局变量index1,存储当前行索引
          2,datagridview.currentrow.index表示列表选中当前行索引
          3,datagrid.rows.cells表示列表某行某列,即定位到某行某列
          4,cells后切记添加value.tostring,才可传递给文本框,不然报转换错误

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-717090/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9240380/viewspace-717090/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值