请问人们都说要将对数据库的操作都写在一个类里面,请问这个类如何写?

yoshubom 2006-09-26 03:11:36
请问人们都说要将对数据库的操作都写在一个类里面,请问这个类如何写?给小弟一个示范吧。谢谢。
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoshubom 2006-09-26
  • 打赏
  • 举报
回复
哦,我做的C/S的模式,请问如何写比较明智呢?
ofei 2006-09-26
  • 打赏
  • 举报
回复
strConn 你写死了 到时候你需要更改连接 是不是要改下类? 重新编译下? 部署到客户机器上了 哪儿有vs 2003/2005给你用吗? 在托管的web服务器上,根本不可能有

yoshubom 2006-09-26
  • 打赏
  • 举报
回复
我结果就这样写了

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace RCTest2
{
class clsDB
{
//数据库连接、执行命令、读取、保存到程序的各个对象的引用
SqlDataReader dRead;
SqlConnection conn;
SqlCommand cmd;
DataTable dt;

//连接数据库的字符串
const string strConn = "server=.;uid=sa;pwd=sa;database=liang";

public clsDB()
{
conn = new SqlConnection(strConn);
dt = new DataTable();
}

public DataTable OperaDB(string strCom)
{
conn.Open();
cmd = new SqlCommand(strCom,conn);
dRead = cmd.ExecuteReader();
dt.Load(dRead);
conn.Close();

return dt;
}
}
}

使用的时候就这样,呵呵

//初始化界面的函数
public void InitialGUI()
{


string strCom = "select * from generalTable";

dataGridView1.DataSource = (new clsDB()).OperaDB(strCom);
dataGridView1.CurrentRow.Selected = true;

//初始化 DataGridView 的列名
string[] str ={ "编号", "路名", "设施", "类型", "设施编号" };

for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
dataGridView1.Columns[i].HeaderText = str[i];
}


//初始化Comobox控件
cmbRName.DataSource = (new clsDB()).OperaDB("select distinct rname from generaltable");
cmbRName.DisplayMember = "rname";


cmbType.DataSource = (new clsDB()).OperaDB("select distinct est from generaltable");
cmbType.DisplayMember = "est";


}
viena 2006-09-26
  • 打赏
  • 举报
回复
SQLHelper

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧