国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# 學習筆記01

2019-11-17 03:11:05
字體:
來源:轉載
供稿:網友

C# 學習筆記01

想寫一個app可以訪問數據庫,實現對數據庫的查詢,修改等,突然發現知識實在有限,故選擇C#來實現此app。

使用簡單的三層架構來作為此app的架構。表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。

從底層開始實現對數據庫的讀取,該例中使用MS SQL Server 2K8 R2。

在解決方案中新建App.config,把數據庫連接字符保存在里面,方便修改

<?xml version="1.0" encoding="utf-8" ?><configuration>  <connectionStrings>    <add name ="connstr"         connectionString="Data Source=.; Initial Catalog=MyTest;User ID=sa;PassWord=123456 "/>  </connectionStrings></configuration>

SQLhelper

static class SqlHelper    {        public static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;        public static int ExecuteNonQuery(string sql,             params SqlParameter[] parameters)        {            using (SqlConnection conn = new SqlConnection(connstr))            {                conn.Open();                using (SqlCommand cmd = conn.CreateCommand())                {                    cmd.CommandText = sql;                    cmd.Parameters.AddRange(parameters);                    return cmd.ExecuteNonQuery();//對于 UPDATE、INSERT 和 DELETE 語句,返回值為該命令所影響的行數                }            }        }        public static object ExecuteScalar(string sql,            params SqlParameter[] parameters)        {            using (SqlConnection conn = new SqlConnection(connstr))            {                conn.Open();                using (SqlCommand cmd = conn.CreateCommand())                {                    cmd.CommandText = sql;                    cmd.Parameters.AddRange(parameters);                    return cmd.ExecuteScalar();//執行查詢,并返回查詢所返回的結果集中第一行的第一列。  忽略其他列或行。                 }            }        }        public static DataTable ExecuteDataTable(string sql,            params SqlParameter[] parameters)        {            using (SqlConnection conn = new SqlConnection(connstr))            {                conn.Open();                using (SqlCommand cmd = conn.CreateCommand())                {                    cmd.CommandText = sql;                    cmd.Parameters.AddRange(parameters);                    DataSet dataset = new DataSet();//表示一個存放于內存中的數據緩存                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);//表示用于填充 DataSet 和更新 SQL Server 數據庫的一組數據命令和一個數據庫連接。  此類不能被繼承                    adapter.Fill(dataset);                    return dataset.Tables[0];                }            }        }        public static object FromDbValue(object value)        {            if (value == DBNull.Value)            {                return null;            }            else            {                return value;            }        }        public static object ToDbValue(object value)        {            if (value == null)            {                return DBNull.Value;            }            else            {                return value;            }        }    }
View Code
public static int ExecuteNonQuery(string sql,             params SqlParameter[] parameters)

ExecuteNonQuery 用來實現Insert,delete,update等SQL語句

public static object ExecuteScalar(string sql,            params SqlParameter[] parameters)
View Code

ExecuteScalar執行查詢,并返回查詢所返回的結果集中第一行的第一列或空引用(如果結果集為空).忽略其他列或行.

使用 ExecuteScalar 方法從數據庫中檢索單個值。因為不用創建行集、查找值并關閉行集,所以產生的系統開銷非常小與使用 ExecuteReader方法,然后使用 SqlDataReader 返回的數據執行生成單個值所需的操作相比,此操作需要的代碼較少

 public static DataTable ExecuteDataTable(string sql,            params SqlParameter[] parameters)

ExecuteDataTable 將查詢數據庫中的結果表存放在DataSet中,并返回DataTable類型


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古蔺县| 五莲县| 北京市| 石嘴山市| 皋兰县| 克东县| 会昌县| 凤阳县| 蕲春县| 辉南县| 元江| 都昌县| 法库县| 绵竹市| 陆丰市| 长子县| 什邡市| 龙胜| 长岭县| 丰城市| 青海省| 西乡县| 宾川县| 巫溪县| 桐庐县| 高清| 稻城县| 蕉岭县| 于都县| 梁平县| 维西| 禹城市| 清水县| 五寨县| 吴江市| 大连市| 宾阳县| 泸水县| 河北省| 克什克腾旗| 汨罗市|