关于数据集问题! 求教各位高手!
请问:我想写一个类,即从一个数据库的表中读出数据添加到数据集,并且返回这个数据集? 有没有这方面的代码,能否给一份借鉴借鉴(最好是完整的,包括调用 :) 我是新手吗!)? 谢了!!! 问题点数:50、回复次数:9Top
1 楼cuike519(I will be back!)回复于 2003-12-03 09:09:49 得分 5
这个最好写在DataAccess(也许就是你说的类)里面!里面写一个方法就可以了!比如叫:
private DataSet GetDataSet(string QueryString){
SqlConnection conn = new SqlConnection(ConntionString);
SqlDataAdapter da = new SqlDataAdapter(QueryString,conn);
DataSet Retds = new DataSet();
da.Fill(Retds);
return ds;
}
类似与此的方法就可以了,由于这个方法是我直接手写的没有编译也许有错误,不过原理就是这样的!Top
2 楼lopin()回复于 2003-12-03 09:13:24 得分 0
有没有更详细些的代码?Top
3 楼eyestrong(有时爱情图有虚名)回复于 2003-12-03 09:18:34 得分 15
类:
using System;
using System.Data;
using System.Data.SqlClient;
namespace ClassSample
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private string connStr="data source=127.0.0.1;packet size=4096;user id=sa;persist security info=False;initial catalog=NorthWind";
//返回数据集
public DataSet Get10Customers()
{
DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter("select top 10 * from customers",new SqlConnection(connStr));
da.Fill(ds);
return ds;
}
}
}
调用方法(ASP.NET):
private void Button1_Click(object sender, System.EventArgs e)
{
Netbiz.WebUIRules.Class1 c1=new Netbiz.WebUIRules.Class1();
Response.Write(c1.Get10Customers().Tables[0].Rows[0][0].ToString());
}
在winform中调用将Response.Write替换成MessageBox.Show即可。Top
4 楼eyestrong(有时爱情图有虚名)回复于 2003-12-03 09:20:22 得分 0
sorry,上面调用方法中的命名空间忘记改了,应该为:
ClassSample.Class1 c1=new ClassSample.Class1();Top
5 楼brightheroes(在地狱中仰望天堂)回复于 2003-12-03 09:35:54 得分 15
public static DataSet getDataSet( string inSelectSQL )
{
DataSet ds = new DataSet();
IuncConnection uncConn = uncConnPoolMgr.getConnection();
if( uncDB.LogMode )
uncLog.setDBLog( inSelectSQL );
try
{
IDbConnection conn = uncConn.Conn;
IDbDataAdapter da = null;
switch( uncConn.ConnType )
{
//OleDb事务
case ConnectionType.OleDbConnection:
da = new OleDbDataAdapter( inSelectSQL, (OleDbConnection)conn );
break;
//SqlServer事务
case ConnectionType.SqlConnection:
da = new SqlDataAdapter( inSelectSQL, (SqlConnection)conn );
break;
//ODBC事务
case ConnectionType.ODBCConnection:
da = new OdbcDataAdapter( inSelectSQL, (OdbcConnection)conn );
break;
//ORACLE事务
case ConnectionType.OracleConnection:
da = new OracleDataAdapter( inSelectSQL, (OracleConnection)conn );
break;
}
da.Fill( ds );
ds.Tables[0].TableName = "uncnet";
}
catch( Exception ex )
{
throw ex;
}
finally
{
uncConnPoolMgr.DisConnect( uncConn );
}
return ds;
}Top
6 楼lopin()回复于 2003-12-03 10:53:07 得分 0
i am trying....Top
7 楼lopin()回复于 2003-12-03 13:19:00 得分 0
ok ! 手工!!! :)Top
8 楼qm0445(海狗)回复于 2003-12-03 13:23:07 得分 0
brightheroes(闭关)的好:)HOHOTop
9 楼openhouse()回复于 2003-12-03 14:14:33 得分 15
using System;
using System.Data;
using System.Data.SqlClient;
namespace ClassSample
{
public class Class1
{
private DataSet ds;
public Class1()
{
}
private string connStr="data source=127.0.0.1;packet size=4096;user id=sa;persist security info=False;initial catalog=NorthWind";
//返回数据集
public DataSet getdataset
{
get
{
return ds;
}
}
public void Get10Customers()
{
ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter("select top 10 * from customers",new SqlConnection(connStr));
da.Fill(ds);
return ;
}
}
}
form 中应用
button1_click()中调用
Class1 db=new Class1();
dataGrid1.datasource=db.getdataset;
------就OK了!Top




