如果你是上面这一段代码,是这样放置的:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace MDI  // 命名空间
{
    public partial class DanPinFX : Form   //类
    {
        public DanPinFX()
        {
            InitializeComponent();
        }        public int sdllj()  //自己创建的函数
        {
            String connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
            connectionString += @"e:\teacher\data\teacher.mdb";
            OleDbConnection conn = new OleDbConnection(connectionString);
            conn.Open();
            OleDbCommand selcmd = new OleDbCommand();
            selcmd.Connection = conn;
            selcmd.CommandText = "SELECT * FROM T2";
            OleDbDataAdapter tda = new OleDbDataAdapter();
            tda.SelectCommand = selcmd;
            DataSet tds = new DataSet();
            tda.Fill(tds);
            conn.Close();
        }    }
}
看得懂意思了不?

解决方案 »

  1.   

    你说的是WEB编程里,我是在windows窗体编程,好象不是那样
      

  2.   

    那么 在一个按钮中如果要用到其中tds对象,该如何做
    private void button2_Click(object sender, EventArgs e)
    {}
      

  3.   

    我以前是放在
    public void Form2_Load(object sender, EventArgs e)
            {
                String connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
                connectionString += @"e:\teacher\data\teacher.mdb";
                OleDbConnection conn = new OleDbConnection(connectionString);
                conn.Open();
                OleDbCommand selcmd = new OleDbCommand();
                selcmd.Connection = conn;
                selcmd.CommandText = "SELECT * FROM T2";
                OleDbDataAdapter tda = new OleDbDataAdapter();
                tda.SelectCommand = selcmd;
                DataSet tds = new DataSet();
                tda.Fill(tds);
                conn.Close();
                          
            }
    但是在:
    private void button2_Click(object sender, EventArgs e) 
    {
                DataTable tdt = tds.Tables[0];
                DataRow r1 = tds.Tables[0].Rows[0];
    }
    中tds不能用;
      

  4.   

    低价转让:中#美#爱#梯#科技.Net软件工程师培训课程内容(共35G),声音清晰,课程完整!
    需要这个培训视频的朋友请联系 QQ 936652114
      

  5.   

      DataSet tds = new DataSet(); 
                tda.Fill(tds); 
    可以写在
    private void button2_Click(object sender, EventArgs e)  

                
    } 里面不
      

  6.   

    当然是可以的,但是我是有很多按钮的单击事件都用到这个tds,如果都那样写就很不方便,比如在一个表单中有"前进"和"后退"按来访问表中DataTable tdt = tds.Tables[0];的前一条和后一条记录.每次都要重新生成新的对象,好像不太好吧
      

  7.   

    把tds定义为类的私有成员变量,不要再某个函数里定义
      

  8.   

    单独写个连接数据库的公共类;
    把连接数据库的代码都放里面;
    在同一名字空间用   类名.tds  访问 或 名字空间.类名.tds
      

  9.   

    tds你可以定义成全局变量,也就是在类下直接定义,然后在类的所有方法里就可以使用了,不明白的再问,或者把相关知识点看看
      

  10.   

    可将它放到public partial class Form2 : Form的下面,这样可以将它作为一个共有方法使用。
      

  11.   

    前面你是不是没有看清楚意思?
    我这样并不是在web编程里面,windows是这样的. C# code
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace MDI  // 命名空间
    {
        public partial class DanPinFX : Form   //类
        {
            public DanPinFX()
            {
                InitializeComponent();
            }        public int sdllj()  //自己创建的函数
            {
                String connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
                connectionString += @"e:\teacher\data\teacher.mdb";
                OleDbConnection conn = new OleDbConnection(connectionString);
                conn.Open();
                OleDbCommand selcmd = new OleDbCommand();
                selcmd.Connection = conn;
                selcmd.CommandText = "SELECT * FROM T2";
                OleDbDataAdapter tda = new OleDbDataAdapter();
                tda.SelectCommand = selcmd;
                DataSet tds = new DataSet();
                tda.Fill(tds);
                conn.Close();
            }         private void button2_Click(object sender, EventArgs e)  
             {
                sdllj()  //调用这个自建的函数就可以了.里面的内容你可以自己设计;
             } 
        }
    }
      

  12.   

    你说的:
    DataSet tds = new DataSet();  
                tda.Fill(tds);  
    可以写在 
    private void button2_Click(object sender, EventArgs e)   
    {  
                 
    }  里面不 ?
    这个问题,我的回答是:当然可以啊!
      

  13.   

    恩,类似17楼的方法.你可以把连接数据库的代码段写在自定义类里面,这样每次需要连接数据库时就实例化以下类,然后再用类里的tds就可以了.感觉这更符合面向对象的精神.呵呵
      

  14.   

    抽出来,写在数据库操作层dto啊,
    SqlHelper+Dto+Business+UI
    ------------------------------
    String connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="; 
                connectionString += @"e:\teacher\data\teacher.mdb"; 
                OleDbConnection conn = new OleDbConnection(connectionString); 
                conn.Open(); 
                OleDbCommand selcmd = new OleDbCommand(); 
                selcmd.Connection = conn; 
                selcmd.CommandText = "SELECT * FROM T2"; 
                OleDbDataAdapter tda = new OleDbDataAdapter(); 
                tda.SelectCommand = selcmd; 
                DataSet tds = new DataSet(); 
                tda.Fill(tds); 
                conn.Close(); ------------------
    把上面的整理好,
    String connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="; 
    connectionString += @"e:\teacher\data\teacher.mdb"; 
                OleDbConnection conn = new OleDbConnection(connectionString); 
                conn.Open(); 
                OleDbCommand selcmd = new OleDbCommand(); 
                selcmd.Connection = conn; 放sqlhelper层去,
    ---------------------------SELECT * FROM T2放Dto层去,
    ------------------
    不知道LZ是否这个意思?
    献丑了...
      

  15.   

    如果一直要用到这个TDS,可以考虑存到Session
      

  16.   

    低价转让:中#美#爱#梯#科技.Net软件工程师培训课程内容(共35G),声音清晰,课程完整!
    需要这个培训视频的朋友请联系 QQ 936652114
      

  17.   

    c#的没写过,c++下到写过.我当时就写了一个类,封装了数据库连接和操作,用的时候只要声明一个类的对象然后实例化,操作数据库的时候只要传个sql语句就行了。c#下应该也差不多
      

  18.   

    我的意见:
    String connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="; 
                connectionString += @"e:\teacher\data\teacher.mdb"; 
                OleDbConnection conn = new OleDbConnection(connectionString); 
    上面这二句做成公用变量,在程序初始化的时候就可以了.
    下面这些都是在使用的时候就调用,至于封装成类那就看数据操作的量多不多喽,要是多的话可以封装,不然就没必要了.
                conn.Open(); 
                OleDbCommand selcmd = new OleDbCommand(); 
                selcmd.Connection = conn; 
                selcmd.CommandText = "SELECT * FROM T2"; 
                OleDbDataAdapter tda = new OleDbDataAdapter(); 
                tda.SelectCommand = selcmd; 
                DataSet tds = new DataSet(); 
                tda.Fill(tds); 
                conn.Close(); 
      

  19.   

    放哪里都行,不过大家都放在confic什么的文件里吧
      

  20.   

    。。 
    放在方法体外面,设置成公共变量,tds就可以任你蹂躏了
      

  21.   

    这是查询啊,可以放在窗体LOAD事件中,或者直接放在具有查询功能这个按钮中.如果分层的话,放在数据层!