程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# SqlHelper使用開發學習

C# SqlHelper使用開發學習

編輯:C#入門知識

C# SqlHelper使用開發學習。本站提示廣大學習愛好者:(C# SqlHelper使用開發學習)文章只能為提供參考,不一定能成為您想要的結果。以下是C# SqlHelper使用開發學習正文


本文實例為大家分享了C# SqlHelper使用技巧,供大家參考,詳細內容如下

運用App.config配置文件封裝銜接字符串,方便反復運用

--->添加App.conifg配置文件
--->Add : ConnectionString:
--->添加援用

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <startup> 
 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
 </startup>
 <connectionStrings>
 <add name="conStr" connectionString="Data Source=.;Initial Catalog=;User ID=;Password="/>
 </connectionStrings>
</configuration>

封裝一個SQLHelper類方便運用

using System.Configuration;
using System.Data;//DatSet..Table SqlDataAdapter
using System.Data.SqlClient;//SqlConnection Command DataReader
namespace Common
{
 public class SqlHelper
 {
 //銜接字符串
 //1、添加援用 2、導入命名空間 為了運用ConfigurationManager
 private static string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;

 //增刪改查
 //查找數據 ExecuteScalar()前往首行首列 ExecuteReader() DataTable


 /// <summary>
 /// 前往DataTable
 /// </summary>
 /// <param name="sql">所用的sql語句</param>
 /// <param name="param">可變,可以傳參也可以不傳參數</param>
 /// <returns></returns>
 public static DataTable ExecuteDataTable(string sql, params SqlParameter[] param)
 {
 DataTable dt = new DataTable();
 using (SqlConnection con = new SqlConnection(conStr))
 {
 using (SqlDataAdapter adapter = new SqlDataAdapter(sql, con))
 { 
  //添加參數
  adapter.SelectCommand.Parameters.AddRange(param);
  //1.翻開鏈接,假如銜接沒有翻開,則它給你翻開;假如翻開,就算了
  //2.去執行sql語句,讀取數據庫
  //3.sqlDataReader,把讀取到的數據填充到內存表中
  adapter.Fill(dt);
 }
 }
 return dt;
 }

 /// <summary>
 /// 執行查詢,前往首行首列
 /// </summary>
 /// <param name="sql"></param>
 /// <param name="param"></param>
 /// <returns></returns>
 public static object ExecuteScalar(string sql, params SqlParameter[] param)
 {
 object o = null;
 using (SqlConnection con = new SqlConnection(conStr))
 {
 using (SqlCommand cmd = new SqlCommand(sql, con))
 {
  cmd.Parameters.AddRange(param);
  con.Open();

  o = cmd.ExecuteScalar();
 }
 }
 return o;
 }


 /// <summary>
 /// 執行查詢,前往SqlDataReader對象
 /// </summary>
 /// <param name="sql"></param>
 /// <param name="param"></param>
 /// <returns></returns>
 public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] param)
 {
 SqlDataReader reader = null;
 using (SqlConnection con = new SqlConnection(conStr))
 {
 using (SqlCommand cmd = new SqlCommand(sql, con))
 {
  cmd.Parameters.AddRange(param);
  con.Open();

  reader = cmd.ExecuteReader();
 }
 }
 return reader;
 }

 /// <summary>
 /// 執行增刪改,前往受影響的行數
 /// </summary>
 /// <param name="sql"></param>
 /// <param name="param"></param>
 /// <returns></returns>
 public static int ExecuteNonQuery(string sql, params SqlParameter[] param)
 {
 int n = -1;
 using (SqlConnection con = new SqlConnection(conStr))
 {
 using (SqlCommand cmd = new SqlCommand(sql, con))
 {
  cmd.Parameters.AddRange(param);
  con.Open();
  n = cmd.ExecuteNonQuery();
 }
 }
 return n;
 }

 }
}

C#using三種運用辦法:

C#namespace: 是為了避免命名反復的 。
比方你在兩個不同的命名空間中都可以有Student類。
此命名空間范圍允許您組織代碼並為您提供了創立全局獨一類型的辦法。 

C#中Sqlparamater的用法:
上面這個是使用sqlHelper和ComboBox來展現 省市聯動: 

 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }

 private void Form1_Load(object sender, EventArgs e)
 {
 //在使用順序加載的時分 ,去數據庫查找省的數據,給cboPro
 DataTable dt = SqlHelper.ExecuteDataTable("select * from promary");
 //將前往的DataTable作為cboPro的數據源
 //讓cboPro顯示proName這個字段的值,普通是顯示給客戶看的
 cboPro.DisplayMember = "proName";
 //讓valueMemberID,綁定的是對應的值,綁定處置順序標識 給順序員看的。
 cboPro.ValueMember = "proID";
 cboPro.DataSource = dt;
 }

 private void cboPro_SelectedIndexChanged(object sender, EventArgs e)
 {
 //之前的寫法
 // MessageBox.Show(cboPro.Text);//取得在cbo中選擇文本
 //MessageBox.Show(cboPro.SelectedValue.ToString());//取得關聯的數據

 //string sql = "select * from city where proID="+cboPro.SelectedValue.ToString();
 //帶參數的sql語句
 string sql = "select * from city where proID=@proID";
 //預備一個sql參數
 SqlParameter p = new SqlParameter("@proID", cboPro.SelectedValue.ToString());
 //設置cboCity要顯示的數據
 cboCity.DisplayMember = "cityName";
 //依據sql語句查詢到的數據集
 cboCity.DataSource = SqlHelper.ExecuteDataTable(sql, p);
 }
 }

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved