实际上在.net framework中提供了两种方式,一种是oledb,另一种是sql。
Oledb就是通过ADO连接的,两者没有什么区别。
sql是针对微软的SqlServer,其速度比Oledb快一倍以上。
另外MSDN的实例很多。下面就是一段
public void InsertRow(string myConnection)
{
// If the connection string is null, use a default.
if(myConnection == "")
{
myConnection = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
}
SqlConnection mySqlClientSrvConn = new SqlConnection(myConnection);
string myInsertQuery = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
SqlCommand mySqlCommand = new SqlCommand(myInsertQuery);
mySqlCommand.Connection = mySqlClientSrvConn;
mySqlClientSrvConn.Open();
mySqlCommand.ExecuteNonQuery();
mySqlCommand.Connection.Close();
}
Oledb就是通过ADO连接的,两者没有什么区别。
sql是针对微软的SqlServer,其速度比Oledb快一倍以上。
另外MSDN的实例很多。下面就是一段
public void InsertRow(string myConnection)
{
// If the connection string is null, use a default.
if(myConnection == "")
{
myConnection = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
}
SqlConnection mySqlClientSrvConn = new SqlConnection(myConnection);
string myInsertQuery = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
SqlCommand mySqlCommand = new SqlCommand(myInsertQuery);
mySqlCommand.Connection = mySqlClientSrvConn;
mySqlClientSrvConn.Open();
mySqlCommand.ExecuteNonQuery();
mySqlCommand.Connection.Close();
}
解决方案 »
- C# 子线程怎么操作主线程的组件??
- C#winform怎么可以让鼠标移动到控件时显示玻璃效果 就像QQ主界面的状态更改和个人说明那样
- ASP.net怎样连接别的机器上的数据库
- 初学者求助:如何用C#向SQL2000里插入图片及显示图片
- 事情重大!在线等高手解答如何破坏、删除别人保留的我的机密数据!谢谢!
- 请微软公司的人 和孟子 思归等高手帮忙,一直没有解决的,vs.net部署asp.net安装程序问题
- 给slf8888的30分
- 新闻内容与我数据库里的任一条有80%的相似度,我就要把它过滤掉。
- 关于精度的问题,请高手进来解决,大家可以学习一下
- ActiveReports报表控件,能不能去持web上直接打印(水晶报表做不到这点)
- C#有没有类似VB里的类生成器?
- 关于c#中自己创建异常类中的内容
using System.Data;
using System.Data.SqlClient; namespace Finacy
{
/// <summary>
/// SQL语句执行类.
/// 作者:bluesx.
/// 创建日期:2002.1.30.
/// </summary>
public sealed class SqlExecute
{
/// <summary>
/// 连接对象
/// </summary>
private SqlConnection _Conn;
/// <summary>
/// 事务对象
/// </summary>
private SqlTransaction _Trans;
/// <summary>
/// 命令执行对象
/// </summary>
private SqlCommand _Cmd;
/// <summary>
/// 连接字符串
/// </summary>
private string _ConnString;
/// <summary>
/// 是否开始了事务
/// </summary>
private bool _BeginTrans;
/// <summary>
/// 构造函数
/// </summary>
/// <res>初始化数据库连接</res>
public SqlExecute()
{
try
{
///从Web.config文件中读取连接字符串
this._ConnString=ConfigurationSettings.AppSettings["ConnString"].ToString().Trim();
///从系统公用变量类的静态属性ConnString中读取连接字符串
if (this._ConnString.Trim()=="")
{
throw new FinacyException("请在Web.config文件中设置数据库连接字符串!");
}
this._Conn=new SqlConnection(this._ConnString.Trim());
this._Cmd=new SqlCommand();
this._Cmd.CommandTimeout=60;
this._Cmd.Connection=this._Conn;
this.Open();
}
catch
{
throw;
}
}
/// <summary>
/// 析构函数,关闭数据库连接,释放资源
/// </summary>
~SqlExecute()
{
if (this._BeginTrans)
{
this.RollBack();
}
this.Close();
this._Conn=null;
this._Trans=null;
this._Cmd=null;
}
/// <summary>
/// 打开数据库连接
/// </summary>
public void Open()
{
try
{
if (this._Conn.State==ConnectionState.Closed)
{
this._Conn.Open();
}
}
catch
{
throw;
}
}
/// <summary>
/// 关闭数据库连接
/// </summary>
public void Close()
{
try
{
if (this._Conn.State!=ConnectionState.Closed)
{
this._Conn.Close();
}
}
catch
{
throw;
}
}
/// <summary>
/// 开始事务
/// </summary>
public void BeginTrans()
{
try
{
if (!this._BeginTrans)
{
if (this._Conn.State==ConnectionState.Closed)
{
throw new FinacyException("数据库连接未打开!");
}
this._Trans=this._Conn.BeginTransaction();
this._Cmd.Transaction=this._Trans;
this._BeginTrans=true;
}
else
{
throw new FinacyException("已经开始事务!");
}
}
catch
{
throw;
}
}
/// <summary>
/// 提交事务
/// </summary>
public void Commit()
{
try
{
if (this._BeginTrans)
{
this._Trans.Commit();
this._Cmd.Transaction=null;
this._BeginTrans=false;
}
}
catch
{
throw;
}
}
/// <summary>
/// 回滚事务
/// </summary>
public void RollBack()
{
try
{
if (this._BeginTrans)
{
this._Trans.Rollback();
this._Cmd.Transaction=null;
this._BeginTrans=false;
}
}
catch
{
throw;
}
}
/// <summary>
/// 执行SQL语句,返回执行影响的行数
/// </summary>
/// <param name="strSql">SQL语句</param>
/// <returns>执行影响行数</returns>
public int ExecuteSQL(string strSql)
{
this._Cmd.CommandType=CommandType.Text;
this._Cmd.CommandText=strSql;
return this._Cmd.ExecuteNonQuery();
}
/// <summary>
/// 执行返回结果集的SQL语句,返回DataSet对象
/// </summary>
/// <param name="strSql">SQL语句</param>
/// <param name="myDataSet">返回DataSet对象</param>
/// <param name="strTableName">DataTable名称</param>
public void ExecuteSQL(string strSql,out DataSet myDataSet,string strTableName)
{
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=this._Cmd;
da.SelectCommand.CommandType=CommandType.Text;
da.SelectCommand.CommandText=strSql;
myDataSet=new DataSet();
da.Fill(myDataSet,strTableName);
da=null;
}
/// <summary>
/// 执行返回结果集的SQL语句,返回DataTable对象
/// </summary>
/// <param name="strSql">SQL语句</param>
/// <param name="myDataTable">返回DataTable对象</param>
/// <param name="strTableName">DataTable名称</param>
public void ExecuteSQL(string strSql,out DataTable myDataTable,string strTableName)
{
DataSet ds;
this.ExecuteSQL(strSql,out ds,strTableName);
myDataTable=ds.Tables[strTableName];
ds.Tables.Remove(strTableName);
ds=null;
}
/// <summary>
/// 执行存储过程,返回DataSet对象
/// </summary>
/// <param name="strStoredProcName">存储过程名称</param>
/// <param name="ParamsArray">参数数组</param>
/// <param name="myDataSet">返回的DataSet</param>
/// <param name="strTableName">DataTable名称</param>
public void ExecuteSP(string strStoredProcName,SqlParameter[] ParamsArray,out DataSet myDataSet,string strTableName)
{
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=this._Cmd;
da.SelectCommand.CommandType=CommandType.StoredProcedure;
da.SelectCommand.CommandText=strStoredProcName;
foreach(SqlParameter param in ParamsArray)
{
da.SelectCommand.Parameters.Add(param);
}
myDataSet=new DataSet();
da.Fill(myDataSet,strTableName);
da=null;
}
/// <summary>
/// 执行存储过程,返回DataTable对象
/// </summary>
/// <param name="strStoredProcName">存储过程名称</param>
/// <param name="ParamsArray">参数数组</param>
/// <param name="myDataTable">返回的DataTable</param>
/// <param name="strTableName">DataTable名称</param>
public void ExecuteSP(string strStoredProcName,SqlParameter[] ParamsArray,out DataTable myDataTable,string strTableName)
{
DataSet ds;
this.ExecuteSP(strStoredProcName,ParamsArray,out ds,strTableName);
myDataTable=ds.Tables[strTableName];
if (myDataTable!=null)
{
ds.Tables.Remove(strTableName);
}
ds=null;
}
}
}
if (this._ConnString.Trim()=="")
{
throw new FinacyException("请在Web.config文件中设置数据库连接字符串!");
}
用到了自定义异常。