求一个VB.NET写的数据库连接和操作的共有类,能实现查询,插入,更新,删除功能的。

meiziqingqing 2005-07-25 08:39:52
看了一些别人写的代吗,看到好多的把数据库连接写在页面里,感觉比较乱,
求一个VB.NET写的数据库连接和操作的共有类,能实现查询,插入,更新,删除功能的。
...全文
742 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyfer 2006-07-02
  • 打赏
  • 举报
回复
shuchangbing@tom.com
pkkquan 2006-07-02
  • 打赏
  • 举报
回复
编程乐园 VB.Net 群:12328794 欢迎大家加入,研究学习
cnwd 2006-07-02
  • 打赏
  • 举报
回复
cnwd@163.com
我也想要一个
谢谢大家
清风树下 2005-11-02
  • 打赏
  • 举报
回复
yushubin@163.com
太好了!我十分想要一个看看
麻烦各位了
清风树下 2005-10-10
  • 打赏
  • 举报
回复
谢谢!
sunnywxl100 2005-10-09
  • 打赏
  • 举报
回复
太好了!我十分想要一个看看
麻烦各位了
wxl2002_0_0@yahoo.com.cn
Qqwwee_Com 2005-10-09
  • 打赏
  • 举报
回复
http://blog.csdn.net/qqwwee_com/archive/2005/09/06/472981.aspx

代码生成器:for oledb ,for sql2000
for c#,for vb.net

===============================
CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
软件!
界面: http://qqwwee.com/
下载: http://qqwwee.com/csdn.rar 包含源代码
yejunyan 2005-10-04
  • 打赏
  • 举报
回复
最好给个实例!谢谢。
sz_lgp 2005-09-28
  • 打赏
  • 举报
回复
有下载的吗?请发给我,research@kolormagnetics.com
lsqmax 2005-09-28
  • 打赏
  • 举报
回复
LionWangCity(完美生活) ,给我也发一个嘛,先谢谢了
liusq16888@163.com
coolbinzi 2005-09-28
  • 打赏
  • 举报
回复
My E_mail:guobin609@163.com

Thank You!
qjzrd 2005-08-21
  • 打赏
  • 举报
回复
学习
xuxun 2005-08-17
  • 打赏
  • 举报
回复
mark一下,有空看看,但效率高吗?
kason_j 2005-08-17
  • 打赏
  • 举报
回复
谢谢. stringbuilder(~~~热心海豚~~~)
非常值得学习!!!!!!!
fengzheng0306 2005-08-16
  • 打赏
  • 举报
回复
UP
fengzheng36@126.com
super_zhaowenke 2005-08-13
  • 打赏
  • 举报
回复
easy
xmls_lu 2005-08-13
  • 打赏
  • 举报
回复
up
mmla 2005-08-13
  • 打赏
  • 举报
回复
mack
qjzrd 2005-08-13
  • 打赏
  • 举报
回复
学习中
stringbuilder 2005-08-04
  • 打赏
  • 举报
回复

public SqlParameter _MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
{
return _MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
}
public SqlParameter _MakeOutParam(string ParamName, SqlDbType DbType, int Size)
{
return _MakeParam(ParamName, DbType, Size, ParameterDirection.Output, null);
}


public SqlParameter _MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param;

if(Size > 0)
param = new SqlParameter(ParamName, DbType, Size);
else
param = new SqlParameter(ParamName, DbType);

param.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
param.Value = Value;

return param;
}


public bool _AddTableRow(string table_name,Hashtable ht)
{
//建立空结构表
DataSet ds = new DataSet();//
System.Type colType;
string subStr;
byte[] subBytes;
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
int colLen;

this.Initi(this.m_Adapter);//
this.Initi(m_Command);//
m_Command.CommandText = "select * from "+table_name+" where 1=2";//
m_Adapter.SelectCommand = m_Command;//
m_Adapter.SelectCommand.Transaction = m_Trans;//
m_Adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
m_Adapter.Fill(ds,table_name);//
//建立新行
m_DataRow = ds.Tables[table_name].NewRow();//

System.Collections.IDictionaryEnumerator mycollection = ht.GetEnumerator();//
//遍历循环
while(mycollection.MoveNext())
{
if(mycollection.Value == null ||
(mycollection.Value.ToString() == "" && ds.Tables[table_name].Columns[mycollection.Key.ToString()].AllowDBNull))
{
m_DataRow[mycollection.Key.ToString()] = DBNull.Value;//
}
else
{
colType = ds.Tables[table_name].Columns[mycollection.Key.ToString()].DataType;
colLen = ds.Tables[table_name].Columns[mycollection.Key.ToString()].MaxLength;

if(colType == System.Type.GetType("System.String") && colLen > 0)
{
subStr = (string)mycollection.Value;//取值
//取数据库中对应长度
colLen = Math.Min(colLen, System.Text.Encoding.Default.GetByteCount(subStr.ToCharArray()));
subBytes = System.Text.Encoding.Default.GetBytes(subStr);
sb.Remove(0, sb.Length);
//截取串
subStr = sb.Append(System.Text.Encoding.Default.GetChars(subBytes, 0, colLen)).ToString();
//subStr.Replace("'", "''");
m_DataRow[mycollection.Key.ToString()] = subStr;
}
else if(colType == System.Type.GetType("System.DateTime"))
{
//如果数据类型是时间,但数据不正确,就写入NULL
if(mycollection.Value.ToString() == "0001-1-1 0:00:00")
m_DataRow[mycollection.Key.ToString()] = DBNull.Value;//
else
m_DataRow[mycollection.Key.ToString()] = mycollection.Value;//
}
else
m_DataRow[mycollection.Key.ToString()] = mycollection.Value; //
}
}
//增加新行
ds.Tables[table_name].Rows.Add(m_DataRow);//
//提交到数据库
m_Builder = new SqlCommandBuilder(m_Adapter);//
this.m_Adapter.Update(ds,table_name);//
return true;
}


public bool _UpdateTableRow(string table_name,Hashtable ht_Data,Hashtable ht_Condition)
{
//建立空结构表
// this.Initi(m_DataSet);//
System.Type colType;
string subStr;
byte[] subBytes;
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
int colLen;

DataSet ds = new DataSet();//
this.Initi(m_Adapter);//
this.Initi(m_Command);//
//取得条件确定唯一一条记录的条件
string strCondition=" where (1=1) ";//
System.Collections.IDictionaryEnumerator myWhere = ht_Condition.GetEnumerator();
while(myWhere.MoveNext())
{
strCondition+=(" and ("+myWhere.Key.ToString()+"='"+myWhere.Value.ToString()+"')");//
}
m_Command.CommandText = "select * from "+table_name+strCondition;//
m_Adapter.SelectCommand = m_Command;//
m_Adapter.SelectCommand.Transaction = m_Trans;//
m_Adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
m_Adapter.Fill(ds,table_name);//
//建立新行
m_DataRow = ds.Tables[table_name].Rows[0];
System.Collections.IDictionaryEnumerator myData = ht_Data.GetEnumerator();
//遍历循环
while(myData.MoveNext())
{
if(myData.Value == null ||
(myData.Value.ToString() == "" && ds.Tables[table_name].Columns[myData.Key.ToString()].AllowDBNull))
{
m_DataRow[myData.Key.ToString()] = DBNull.Value;
}
else
{
colType = ds.Tables[table_name].Columns[myData.Key.ToString()].DataType;
colLen = ds.Tables[table_name].Columns[myData.Key.ToString()].MaxLength;
if(colType == System.Type.GetType("System.String") && colLen > 0)
{
subStr = (string)myData.Value;
colLen = Math.Min(colLen, System.Text.Encoding.Default.GetByteCount(subStr.ToCharArray()));
subBytes = System.Text.Encoding.Default.GetBytes(subStr);
sb.Remove(0, sb.Length);
subStr = sb.Append(System.Text.Encoding.Default.GetChars(subBytes, 0, colLen)).ToString();
//subStr.Replace("'", "''");
m_DataRow[myData.Key.ToString()] = subStr;
}
else if(colType == System.Type.GetType("System.DateTime"))
{
//如果数据类型是时间,但数据不正确,就写入NULL
if(myData.Value.ToString() == "0001-1-1 0:00:00")
m_DataRow[myData.Key.ToString()] = DBNull.Value;//
else
m_DataRow[myData.Key.ToString()] = myData.Value;//
}
else
m_DataRow[myData.Key.ToString()] = myData.Value; //
}
}
//提交到数据库
m_Builder = new SqlCommandBuilder(m_Adapter);//
this.m_Adapter.Update(ds,table_name);//
return true;
}

public bool _DeleteTableRow(string table_name,Hashtable ht_Condition)
{
//建立空结构表
// this.Initi(m_DataSet);//
DataSet ds = new DataSet();//
this.Initi(m_Adapter);//
this.Initi(m_Command);//
//取得条件确定唯一一条记录的条件
string strCondition=" where (1=1) ";//
System.Collections.IDictionaryEnumerator myWhere = ht_Condition.GetEnumerator();
while(myWhere.MoveNext())
{
strCondition+=(" and ("+myWhere.Key.ToString()+"='"+myWhere.Value.ToString()+"')");//
}
m_Command.CommandText = "select * from "+table_name+strCondition;//
m_Adapter.SelectCommand = m_Command;//
m_Adapter.SelectCommand.Transaction = m_Trans;//
m_Adapter.Fill(ds,table_name);//
ds.Tables[table_name].Rows[0].Delete();//
//提交到数据库
m_Builder = new SqlCommandBuilder(m_Adapter);//
this.m_Adapter.Update(ds,table_name);//
return true;
}


/// <summary>
/// 更新数据库
/// </summary>
/// <param name="dt">数据</param>
/// <returns></returns>
public bool _UpdateData(DataTable dt)
{
m_Builder = new SqlCommandBuilder(m_Adapter);//
this.m_Adapter.Update(dt);//
return true;
}


/// <summary>
/// 取得某序列的唯一标号
/// </summary>
/// <param name="snType">序列类型</param>
/// <returns>唯一编号</returns>
public int _GetSerialNum(string snType)
{
SqlParameter[] paras = {
this._MakeInParam("@snType",System.Data.SqlDbType.VarChar,40,snType)
};//
return this._RunProc("up_GetSN",paras);//
}

public string _GetSystemConfig(string key)
{
object retValue;
string sql = @"select f_system_config_value from ts_system_config where f_system_config_key = '" + key + "'";
retValue = _ExecuteScalar(sql);
if(retValue != null)
return (string)retValue;
else
return "";}}}
加载更多回复(18)

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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