高分~!谁有比较好的数据库操作的例子,分不够再加。

jinco 2004-11-26 09:26:09
最好有些比较好的数据库系统,不要OA,太大了
...全文
175 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongwanli 2004-11-27
  • 打赏
  • 举报
回复
比较好的,都不会用来给人的,都是商业的
lgg06 2004-11-27
  • 打赏
  • 举报
回复
google 有
jinco 2004-11-26
  • 打赏
  • 举报
回复
greennetboy(我的老婆叫静静)
jinco@163.com
tingpig 2004-11-26
  • 打赏
  • 举报
回复
同意楼上,另外,gotdotnet的也不错,采用了工厂模式,可以访问多种数据库.
http://www.gotdotnet.com/workspaces/workspace.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431 可以下载
comningbo 2004-11-26
  • 打赏
  • 举报
回复
/////////////////////////////////////以下是另外的类文件//////////////////////////////////
using System;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;

namespace My.DBLink
{
/// <summary>
/// SQLServerDBLink 的摘要说明。
/// </summary>
public class SQLServerDBLink:DBLink
{
private bool Run;
protected SqlConnection myConnection;
protected SqlDataReader myReader;
protected SqlDataAdapter myAdapter;
protected SqlCommand myCommand;
protected DataSet myDataSet;
protected Bori.DBLink.SqlParameter myParameter;

/// <summary>
/// 指定连接字符串
/// </summary>
public new string ConnectionString;

/// <summary>
/// 默认的构造函数
/// </summary>
public SQLServerDBLink()
{

}

/// <summary>
/// 重载的构造函数
/// </summary>
/// <param name="strConnection">指定的连接字符串</param>
public SQLServerDBLink(string strConnection)
{
if(!strConnection.Equals(String.Empty))
ConnectionString=strConnection;
}

/// <summary>
/// 返回指定的数据连接字符串
/// </summary>
/// <returns>返回连接字符串</returns>
public override string GetConnectionString()
{
if(!ConnectionString.Equals(String.Empty))
{
try
{
this.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
}
catch
{
this.ConnectionString=String.Empty;
}
}
return this.ConnectionString;
}

/// <summary>
/// 初始化连接
/// </summary>
/// <param name="connection">数据连接</param>
/// <returns>初始化是否成功 True 成功 | False 失败</returns>
public bool GetConnection(out SqlConnection connection)
{
SqlConnection tempConnection=new SqlConnection();
tempConnection.ConnectionString=this.GetConnectionString();
try
{
tempConnection.Open();
connection=tempConnection;
Run=true;
}
catch
{
connection=tempConnection;
}
return Run;
}

/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public override bool ExecSQL(string strSQL)
{
if(GetConnection(out myConnection))
{
myCommand=new SqlCommand();
myCommand.Connection=myConnection;
myCommand.CommandText=strSQL;
try
{
myCommand.ExecuteNonQuery();
Run=true;
}
catch
{
Run=false;
}
finally
{
if(myConnection.State==ConnectionState.Open)
myConnection.Close();
}
}
return Run;
}

/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public override bool ExecSQL(string strSQL, out string strErr)
{
strErr="";
if(GetConnection(out myConnection))
{
myCommand=new SqlCommand();
myCommand.Connection=myConnection;
myCommand.CommandText=strSQL;
try
{
myCommand.ExecuteNonQuery();
Run=true;
}
catch(Exception err)
{
strErr=err.Message;
Run=false;
}
finally
{
if(myConnection.State==ConnectionState.Open)
myConnection.Close();
}
}
return Run;
}

/// <summary>
/// 执行SQL语句返回数据表
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="myTable">返回的数据表</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public override bool ExecSQLOutTable(string strSQL,out DataTable myTable,out string strErr)
{
strErr="";
myTable=new DataTable();
myDataSet=new DataSet();
if(GetConnection(out myConnection))
{
myCommand=new SqlCommand();
myAdapter=new SqlDataAdapter();
myCommand.Connection=myConnection;
myCommand.CommandText=strSQL;
myAdapter.SelectCommand=myCommand;
try
{
myAdapter.Fill(myDataSet);
myTable=myDataSet.Tables[0];
Run=true;
}
catch(Exception err)
{
strErr=err.Message;
Run=false;
}
finally
{
if(myConnection.State==ConnectionState.Open)
myConnection.Close();
}
}
return Run;
}

/// <summary>
/// 执行SQL语句返回一个数据集
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="myDataSet">返回的数据集</param>
/// <param name="strErr"></param>
/// <returns></returns>
public override bool ExecSQLOutDataSet(string strSQL,out DataSet myDataSet,out string strErr)
{
strErr="";
myDataSet=new DataSet();
if(GetConnection(out myConnection))
{
myCommand=new SqlCommand();
myAdapter=new SqlDataAdapter();
myCommand.Connection=myConnection;
myCommand.CommandText=strSQL;
myAdapter.SelectCommand=myCommand;
try
{
myAdapter.Fill(myDataSet);
Run=true;
}
catch(Exception err)
{
strErr=err.Message;
Run=false;
}
finally
{
if(myConnection.State==ConnectionState.Open)
myConnection.Close();
}
}
return Run;
}

/// <summary>
/// 执行SQL语句返回语句的首条记录
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="strReturn">返回的首条记录文本</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public override bool ExecSQLOutString(string strSQL,out string strReturn,out string strErr)
{
strErr="";
strReturn="";
myDataSet=new DataSet();
if(GetConnection(out myConnection))
{
myCommand=new SqlCommand();
myAdapter=new SqlDataAdapter();
myCommand.Connection=myConnection;
myCommand.CommandText=strSQL;
myAdapter.SelectCommand=myCommand;
try
{
myAdapter.Fill(myDataSet);
myDataSet.Tables[0].Rows[0][0].ToString();
Run=true;
}
catch(Exception err)
{
strErr=err.Message;
Run=false;
}
finally
{
if(myConnection.State==ConnectionState.Open)
myConnection.Close();
}
}
return Run;
}

/// <summary>
/// 执行SQL语句返回记录的条数
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="intReturn">返回记录的条数</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public override bool ExecSQLOutCount(string strSQL,out int intReturn,out string strErr)
{
strErr="";
intReturn=-1;
myDataSet=new DataSet();
if(GetConnection(out myConnection))
{
myCommand=new SqlCommand();
myAdapter=new SqlDataAdapter();
myCommand.Connection=myConnection;
myCommand.CommandText=strSQL;
myAdapter.SelectCommand=myCommand;
try
{
myAdapter.Fill(myDataSet);
intReturn=myDataSet.Tables[0].Rows.Count;
Run=true;
}
catch(Exception err)
{
strErr=err.Message;
Run=false;
}
finally
{
if(myConnection.State==ConnectionState.Open)
myConnection.Close();
}
}
return Run;
}

}
不知楼主能否用到
comningbo 2004-11-26
  • 打赏
  • 举报
回复
using System;
using System.Data;

namespace My.DBLink
{

/// <summary>
/// 表示SQL语句参数的结构
/// </summary>
public struct SqlParameter
{
/// <summary>
/// 参数名称
/// </summary>
public string ParamName;

/// <summary>
/// 参数的值
/// </summary>
public string ParamValue;

/// <summary>
/// 参数的类型
/// </summary>
public SqlDbType ParamType;

/// <summary>
/// 结构的构造函数
/// </summary>
/// <param name="strParamName">参数名称</param>
/// <param name="dbtParamType">参数类型</param>
/// <param name="strParamValue">参数的值</param>
public SqlParameter(string strParamName,SqlDbType dbtParamType,string strParamValue)
{
this.ParamName = strParamName;
this.ParamType = dbtParamType;
this.ParamValue=strParamValue;
}

/// <summary>
/// 取得结构的字符串表示
/// </summary>
/// <returns>返回字符串表示的结构</returns>
public override string ToString()
{
return(String.Format("({0},{1},{2})", ParamName, ParamType.ToString(),ParamValue));
}
}
/// <summary>
/// 数据连接的辅助基类
/// </summary>
public abstract class DBLink
{
/// <summary>
/// 指定连接字符串
/// </summary>
public string ConnectionString;

/// <summary>
/// 返回指定的数据连接字符串
/// </summary>
/// <returns>返回连接字符串</returns>
public abstract string GetConnectionString();

/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public abstract bool ExecSQL(string strSQL);

/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public abstract bool ExecSQL(string strSQL, out string strErr);

/// <summary>
/// 执行SQL语句返回数据表
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="myTable">返回的数据表</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public abstract bool ExecSQLOutTable(string strSQL,out DataTable myTable,out string strErr);

/// <summary>
/// 执行SQL语句返回一个数据集
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="myDataSet">返回的数据集</param>
/// <param name="strErr"></param>
/// <returns></returns>
public abstract bool ExecSQLOutDataSet(string strSQL,out DataSet myDataSet,out string strErr);

/// <summary>
/// 执行SQL语句返回语句的首条记录
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="strReturn">返回的首条记录文本</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public abstract bool ExecSQLOutString(string strSQL,out string strReturn,out string strErr);

/// <summary>
/// 执行SQL语句返回记录的条数
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="intReturn">返回记录的条数</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public abstract bool ExecSQLOutCount(string strSQL,out int intReturn,out string strErr);

/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="strProcessName">要执行的存储过程</param>
/// <param name="myParam">存储过程的参数</param>
/// <param name="strErr">返回错误的描述文本</param>
/// <returns>方法执行是否成功 True 成功 | False 失败</returns>
public abstract bool ExecProcess(string strProcessName,SqlParameter [] myParam,out string strErr);

}
}
haonanernet 2004-11-26
  • 打赏
  • 举报
回复
http://blog.csdn.net/haonanernet/archive/2004/11/24/193495.aspx
一.这个为c#连接winform
注意点:(1)调用时必须引用此类的命名空间
(2)类中引用的命名空间
using System;
using System.Data;
using System.Data.SqlClient;
(3)调用示例:
DataSet ds =new DataSet();
string sql="select * from [user]";
ds=DoDataBase.GetDataSet(sql);
dataGrid1.DataSource=ds.Tables[0].DefaultView;
//以上四行为用02wangluo数据库中user表来填充DataSet后绑定到dataGrid1
//这是调用的GetDataSet方法-->此方法主要面对的是查(select)


string sql="insert into test(test_xingming) values ("+txtUserID.Text+")";
DoDataBase.ExecuteSQL(sql);
//以上两行是调用DoDataBase数据库操作类中的ExecuteSQL方法来执行对数据库的增,删,改等操作,一般写到button_click中
(3)具体操作类代码:
public class DoDataBase
{
public DoDataBase()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static DataSet GetDataSet(string sql)
{
SqlConnection conn=new SqlConnection();
DataSet ds=new DataSet();
try
{

conn=new SqlConnection("server=localhost;uid=sa;pwd=;database=02wangluo");
SqlDataAdapter sda=new SqlDataAdapter(sql,conn);
sda.Fill(ds);
return ds;

}
catch(Exception ex)
{
throw(ex);
}
finally
{
conn.Close();
}
}
public static int ExecuteSQL(string sql)
{
SqlConnection conn=new SqlConnection();
try
{
conn=new SqlConnection("server=localhost;uid=sa;pwd=;database=02wangluo");
SqlCommand sqlCmd =new SqlCommand(sql,conn);
conn.Open();
return sqlCmd.ExecuteNonQuery();
}
catch(Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}
}

二asp.net中c#操作SQL SERVER 2000数据库的操作类
(1)类中命名空间:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
(2)在web.config中的<configuration>下面一行加入数据库连接字符串
<appSettings>
<add key="sqlConn" value="data source=(local); initial catalog=02wangluo;user id=sa; password="/>
</appSettings>
(2)操作类代码:
public class DoDataBase
{
public static SqlConnection sqlConn = new SqlConnection();
public DoDataBase()
{

}
public static DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();

try
{
sqlConn = new SqlConnection(ConfigurationSettings.AppSettings["sqlConn"]);
SqlDataAdapter sqlApt = new SqlDataAdapter(sql, sqlConn);
sqlApt.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw (ex);
}
}

public static int ExecuteSQL(string sql)
{
try
{
sqlConn = new SqlConnection(ConfigurationSettings.AppSettings["sqlConn"]);
SqlCommand sqlCmd =new SqlCommand(sql,sqlConn);
sqlConn.Open();
return sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw (ex);
}
finally
{
sqlConn.Close();
}
}
}
(4)调用示例:略

dwei 2004-11-26
  • 打赏
  • 举报
回复
赞同 langmafeng(乞力马扎罗)

Data Access Application Block for .NET概述(中文版)
http://www.microsoft.com/china/msdn/archives/library/dnbda/html/daab-rm.asp

Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以在自己的 .NET 应用程序中将其作为构造块来使用,以减少需要创建、测试和维护的自定义代码的数量。您可以下载完整的 C# 和 Visual Basic .NET 源代码以及综合文档。

只能用于MS SQL SERVER数据库,
其他的不行。

^_^
xiaoslong 2004-11-26
  • 打赏
  • 举报
回复
帮你顶
wangzhenxing 2004-11-26
  • 打赏
  • 举报
回复
我可否也能要一份:fireice@163.com,thank you very much
langmafeng 2004-11-26
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp
lingfeng0 2004-11-26
  • 打赏
  • 举报
回复
可否给我也一份 lingfeng0@126.com 先谢了!
gsky 2004-11-26
  • 打赏
  • 举报
回复
可否给我一份 gcsky20@yahoo.com.cn
greennetboy 2004-11-26
  • 打赏
  • 举报
回复
你的Email,我自己的代码实例,可以拿去参考
Clayborne 2004-11-26
  • 打赏
  • 举报
回复
我倒是自己写了个xml数据库结构设计器,不过我想太幼稚了,不敢拿出来丢人那。
marvelstack 2004-11-26
  • 打赏
  • 举报
回复
www.asp.net上可以开一些开源的。
jinco 2004-11-26
  • 打赏
  • 举报
回复
回复:Clayborne(Clay)

不是我要学他的东西,他们的东西是不错。
也就是说现在不学英语行吗?不行;我们国家有这样的软件吗?没有。
不是我说其他的公司不行,至少目前来说,只要不出什么大的变化,随干和微软抗衡?

大家都是混口饭吃。
takbj 2004-11-26
  • 打赏
  • 举报
回复
我也想要一份! takbj@163.com 先谢了!
taotoo 2004-11-26
  • 打赏
  • 举报
回复
taotoo@163.net 谢谢了朋友!!
Clayborne 2004-11-26
  • 打赏
  • 举报
回复
clayton2000@sohu.com 也要一分,谢谢!

楼主是不是想学数据结构呢?如果是那交流交流啊,微软的东西用的越多对它的依赖性越强,什么东西都是现成的,万一哪一天我们不能使用微软的产品,中国的软件业啊。
加载更多回复(1)

110,571

社区成员

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

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

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