| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1614 人关注过本帖
标题:[分享]专门用于与数据库打交道的类[请评价好与不好]
只看楼主 加入收藏
Reejay
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-9-28
收藏
 问题点数:0 回复次数:20 
[分享]专门用于与数据库打交道的类[请评价好与不好]

/*************最近写了一个类,专门和数据库打交道的,请各位评价评价,好的与不好的一律照单全收*****************/
using System;
using System.Data;
using System.Data.SqlClient;

namespace WebRoot
{
class Sql
{
SqlConnection conn;
SqlCommand cmd;
SqlDataAdapter da;
DataSet ds;

/// <summary>
/// 连接数据库
/// </summary>
/// <param name="server">服务器名称</param>
/// <param name="database">数据库名称</param>
/// <param name="uid">登录帐号</param>
/// <param name="pwd">登录密码</param>
public Sql(string server,string database,string uid,string pwd)
{
conn = new SqlConnection("server=" + server + "; database=" + database + "; uid=" + uid + "; pwd=" + pwd);
}

/// <summary>
/// 查询数据库
/// </summary>
/// <param name="sql">T-select语句</param>
/// <param name="tableName">表的别名</param>
/// <returns>数据集</returns>
public DataSet runSelect(string sql,string tableName)
{
try
{
da = new SqlDataAdapter(sql,conn);
ds = new DataSet();
da.Fill(ds,tableName);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if(conn.State == ConnectionState.Open)
conn.Close();
}
return ds;
}

/// <summary>
/// 查询数据库
/// </summary>
/// <param name="sql">T-select语句</param>
/// <returns>数据集</returns>
public DataSet runSelect(string sql)
{
try
{
da = new SqlDataAdapter(sql,conn);
ds = new DataSet();
da.Fill(ds);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if(conn.State == ConnectionState.Open)
conn.Close();
}
return ds;
}

/// <summary>
/// 对数据的增、删、改
/// </summary>
/// <param name="sql">增、删、改的T-SQL语句</param>
public void runUpdate(string sql)
{
try
{
cmd = new SqlCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if(conn.State == ConnectionState.Open)
conn.Close();
}
}

/// <summary>
/// 获取表的字段名称
/// </summary>
/// <param name="tableName">表名</param>
/// <returns>数据集</returns>
public DataSet getHeader(string tableName)
{
try
{
string sql = "select * from " + tableName + " where 1 = 0";
da = new SqlDataAdapter(sql,conn);
ds = new DataSet();
da.Fill(ds);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if(conn.State == ConnectionState.Open)
conn.Close();
}
return ds;
}
}
}

搜索更多相关主题的帖子: 数据库 打交道 评价 分享 
2006-12-08 16:05
EdwardLyons
Rank: 1
等 级:新手上路
帖 子:254
专家分:0
注 册:2006-12-8
收藏
得分:0 
建议楼主做几个构造函数的重载,比如可以直接输入数据库链接字符串,毕竟.NET里是可以把链接字符串写到web.config文件中的。

遥望辽阔广远的星空,童年的心扉情不自禁敞开,与神秘的宇宙零距离对话。
2006-12-08 16:12
Reejay
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-9-28
收藏
得分:0 
2楼的意思是写个没有参数构造函数的重载

仍记起温馨的一对手,始终给我照顾未变样 we don\'t wanna make it without you
2006-12-08 16:19
EdwardLyons
Rank: 1
等 级:新手上路
帖 子:254
专家分:0
注 册:2006-12-8
收藏
得分:0 
public Sql(string strConn)
{
conn = new SqlConnection(strConn);
}

我的意思是这么写一个,传整个的数据库连接字符串

遥望辽阔广远的星空,童年的心扉情不自禁敞开,与神秘的宇宙零距离对话。
2006-12-08 16:31
Reejay
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-9-28
收藏
得分:0 

嗯,这也是一个比较好的方法,不用输4个参数,谢了


仍记起温馨的一对手,始终给我照顾未变样 we don\'t wanna make it without you
2006-12-08 16:34
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

基本沒意義


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-12-08 16:35
EdwardLyons
Rank: 1
等 级:新手上路
帖 子:254
专家分:0
注 册:2006-12-8
收藏
得分:0 
再有就是觉得你的这个类的功能有点少

遥望辽阔广远的星空,童年的心扉情不自禁敞开,与神秘的宇宙零距离对话。
2006-12-08 16:38
Reejay
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-9-28
收藏
得分:0 

愿闻其详


仍记起温馨的一对手,始终给我照顾未变样 we don\'t wanna make it without you
2006-12-08 16:42
EdwardLyons
Rank: 1
等 级:新手上路
帖 子:254
专家分:0
注 册:2006-12-8
收藏
得分:0 
以下是引用Reejay在2006-12-8 16:42:00的发言:

愿闻其详

我觉得你可以把datagrid的绑定、datareader读取数据等待的东西都写进来。


遥望辽阔广远的星空,童年的心扉情不自禁敞开,与神秘的宇宙零距离对话。
2006-12-08 16:57
srufeng
Rank: 1
等 级:新手上路
威 望:2
帖 子:152
专家分:0
注 册:2006-6-5
收藏
得分:0 
没有什么用

2006-12-08 17:02
快速回复:[分享]专门用于与数据库打交道的类[请评价好与不好]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013067 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved