一個(gè)C# ADO.NET連接SQL Server數(shù)據(jù)庫(kù)的實(shí)例
本文是一個(gè)利用C# ADO.NET連接SQL Server數(shù)據(jù)庫(kù)的程序?qū)嵗搶?shí)例比較簡(jiǎn)單,代碼如下:
- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.Linq;
- usingSystem.Text;
- usingSystem.Data;
- usingSystem.Data.SqlClient;
- namespaceDataAccess
- {
- ///<summary>
- ///操作數(shù)據(jù)庫(kù)公共類
- ///</summary>
- classSqlDataAccess:IDisposable
- {
- ///<summary>
- ///數(shù)據(jù)庫(kù)連接字符串
- ///</summary>
- privatereadonlystringSqlConnectionString="連接字符串;";
- privateSqlConnectionsqlConnection;
- publicSqlDataAccess()
- {
- sqlConnection=newSqlConnection(SqlConnectionString);
- }
執(zhí)行SQL語(yǔ)句,并返回受影響的行數(shù),具體代碼如下:
- ///<summary>
- ///執(zhí)行SQL語(yǔ)句,并返回?cái)?shù)據(jù)庫(kù)受影響的行數(shù)
- ///</summary>
- ///<paramnameparamname="sql">SQL語(yǔ)句</param>
- ///<returns></returns>
- publicintExcuteNonQuery(stringsql)
- {
- SqlCommandcmd=newSqlCommand(sql,sqlConnection);
- if(sqlConnection.State==ConnectionState.Closed)
- {
- sqlConnection.Open();
- }
- intresult=cmd.ExecuteNonQuery();
- sqlConnection.Close();
- returnresult;
- }
- //如果更新的數(shù)據(jù)有特殊字符的用上面那個(gè)ExcuteNonQuery()就不行了,需要用到SqlCommand的一個(gè)參數(shù)SqlParameter。
- publicintExcuteNonQuery(stringsql,SqlParameter[]parameters)
- {
- SqlCommandcmd=newSqlCommand(sql,sqlConnection);
- cmd.Parameters.AddRange(parameters);
- if(sqlConnection.State==ConnectionState.Closed)
- {
- sqlConnection.Open();
- }
- intcount=cmd.ExecuteNonQuery();
- sqlConnection.Close();
- returncount;
- }
返回首行首列的代碼如下:
- ///<summary>
- ///返回首行首列
- ///</summary>
- ///<paramnameparamname="sql"></param>
- ///<returns></returns>
- publicobjectExecuteScalar(stringsql)
- {
- SqlCommandcmd=newSqlCommand(sql,sqlConnection);
- if(sqlConnection.State==ConnectionState.Closed)
- {
- sqlConnection.Open();
- }
- objectresult=cmd.ExecuteScalar();
- sqlConnection.Close();
- returnresult;
- }
獲取一個(gè)DataSet的代碼如下:
- ///<summary>
- ///獲取一個(gè)DataSet
- ///</summary>
- ///<paramnameparamname="sql"></param>
- ///<returns></returns>
- publicDataSetGetDataSet(stringsql)
- {
- SqlDataAdapteradapter=newSqlDataAdapter(sql,sqlConnection);
- DataSetds=newDataSet();
- adapter.Fill(ds);
- returnds;
- }
- }
- }
示例:用上面的數(shù)據(jù)庫(kù)連接類,新增一個(gè)商品,包括商品名稱和單價(jià),代碼如下:
- stringinsertSql=@"INSERTINTOPRODUCTINFO
- VALUES
- (
- @PRODUCTNAME,
- @PRODUCTPRICE,
- );
- SqlParameter[]parameters=newSqlParameter[]
- {
- newSqlParameter("@PRODUCTNAME",商品名稱){SqlDbTypeSqlDbType=SqlDbType.NVarChar},
- newSqlParameter("@PRODUCTPRICE",商品單價(jià)){SqlDbTypeSqlDbType=SqlDbType.Money}
- }
- DataAccessdataAccess=newDataAccess();
- intresult=dataAccess.ExcuteNonQuery(insertSql,parameters);
- if(result>0)
- {
- MessageBox.Show("新增成功");
- }
- else
- {
- MessageBox.Show("新增失敗");
- }
本實(shí)例就介紹到這里,如果想了解更多SQL Server數(shù)據(jù)庫(kù)的知識(shí),這里的文章很值得一看:http://database.51cto.com/sqlserver/,千萬(wàn)不要錯(cuò)過哦!
【編輯推薦】