1 class SQLHelper 2 { 3 public SqlConnection conn; 4 5 //<summary> 6 //鏈接、打開數據庫 7 //</summary> 8 public void open() 9 { 10 string connectionStr = "server = ;database = ;uid = sa;pwd = "; 11 conn = new SqlConnection(connectionStr); 12 conn.Open(); 13 } 14 15 //<summary> 16 //關閉數據庫 17 //</summary> 18 public void close() 19 { 20 conn.Dispose(); 21 conn.Close(); 22 conn = null; 23 } 24 25 //<summary> 26 //得到Command對象 27 //</summary> 28 public SqlCommand GetCommand(string sqlstring) 29 { 30 SqlCommand cmd = new SqlCommand(sqlstring,conn); 31 return cmd; 32 } 33 34 //<summary> 35 //輸入SQL語句,得到DataReader對象 36 //</summary> 37 public SqlDataReader GetDataReader(string sqlstring) 38 { 39 open(); 40 SqlCommand cmd = new SqlCommand(sqlstring,conn); 41 SqlDataReader dr = cmd.ExecuteReader(); 42 return dr; 43 } 44 45 //<summary> 46 //輸入SQL語句,得到DataSet對象 47 //</summary> 48 public DataSet GetDataSet(string sqlstring) 49 { 50 open(); 51 SqlCommand cmd = new SqlCommand(sqlstring,conn); 52 SqlDataAdapter sda = new SqlDataAdapter(); 53 sda.SelectCommand = cmd; 54 DataSet ds = new DataSet(); 55 //string tmpName = tableName.ToString(); 56 sda.Fill(ds); 57 close(); 58 59 return ds; 60 } 61 62 //<summary> 63 //輸入SQL語句,得到DataTable對象 64 //</summary> 65 public DataTable GetDataTable(string sqlstring) 66 { 67 DataSet ds = GetDataSet(sqlstring); 68 DataTable dt = new DataTable(); 69 dt = ds.Tables[0]; 70 71 return dt; 72 } 73 74 //<summary> 75 //執行非查詢命令SQl命令 76 //</summary> 77 public int ExecuteSQL(string sqlstring) 78 { 79 int count = -1; 80 open(); 81 try 82 { 83 SqlCommand cmd = new SqlCommand(sqlstring,conn); 84 count = cmd.ExecuteNonQuery(); 85 } 86 catch 87 { 88 count = -1; 89 } 90 finally 91 { 92 close(); 93 } 94 return count; 95 } 96 97 //<summary> 98 //輸入SQL語句,檢查數據表中是否有該數據信息 99 //</summary> 100 public int GetDataRow(string sqlstring) 101 { 102 int CountRow = 0; 103 open(); 104 SqlCommand cmd = new SqlCommand(sqlstring,conn); 105 106 SqlDataAdapter sda = new SqlDataAdapter(); 107 sda.SelectCommand = cmd; 108 DataSet ds = new DataSet(); 109 sda.Fill(ds); 110 ds.CaseSensitive = false; 111 CountRow = ds.Tables[0].Rows.Count; 112 close(); 113 114 return CountRow; 115 } 116 117 //<summary> 118 //獲取單個值 119 //</summary> 120 public object GetScalar(string sqlstring) 121 { 122 open(); 123 SqlCommand cmd = new SqlCommand(sqlstring,conn); 124 object result = cmd.ExecuteScalar(); 125 close(); 126 127 return result; 128 } 129 130 //<summary> 131 //查詢某個表的某列的屬性數據,並形成列表 132 //</summary> 133 //<param name="sqlstring">查詢SQL語句</param> 134 //<param name="m">第m列的屬性,整數類型</param> 135 //<return>ArrayList類型數據,存儲在ArrayList中的一組數據</return> 136 public ArrayList GetArrayList(string sqlstring,int m) 137 { 138 //創建Arraylist對象 139 ArrayList array = new ArrayList(); 140 SqlDataReader dr = GetDataReader(sqlstring); 141 while (dr.Read()) //遍歷所有結果集 142 { 143 //取結果集索引的第m列的值並添加到ArrayList對象中 144 array.Add(dr.GetValue(m)); 145 } 146 return array; //返回ArrayList對象 147 } 148 149 //<summary> 150 //對整體數據集實時批量更新 151 //<summary> 152 //<param name="ds">DataSet</param> 153 //<param name="sqlstring">SQL語句</param> 154 //<param name="tableName">表名</param> 155 //<return>bool變量,表示是否修改成功</return> 156 public bool doupdate(DataSet ds, string sqlstring, string tableName) 157 { 158 bool isUpdateOk = false; 159 open(); 160 //強制資源清理;Using結束后隱式調用 161 //Disposable 162 using (SqlDataAdapter da = new SqlDataAdapter(sqlstring, conn)) 163 { 164 //數據庫表一定要有主鍵列,否則此處無法通過 165 SqlCommandBuilder builder = new SqlCommandBuilder(da); 166 try 167 { 168 lock (this) 169 { 170 da.Update(ds,tableName); 171 isUpdateOk = true; 172 } 173 } 174 catch(SqlException ex) 175 { 176 MessageBox.Show(ex.ToString(),"錯誤提示"); 177 } 178 } 179 close(); 180 return isUpdateOk; 181 } 182 }