数据库函数..........
生活随笔
收集整理的這篇文章主要介紹了
数据库函数..........
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
??1using?System;
??2using?System.Data;
??3using?System.Data.SqlClient;
??4
??5using?CommonClass;
??6
??7namespace?SqlConnClass
??8{
??9????/**////?<summary>
?10????///?SqlConn?的摘要說(shuō)明。
?11????///?</summary>
?12????public?class?SqlConn
?13????{
?14????????private?SqlConnection?_SConn;
?15
?16????????構(gòu)造函數(shù)#region?構(gòu)造函數(shù)
?17????????public?SqlConn(string?sqlconn)
?18????????{
?19????????????this._SConn=new?SqlConnection(sqlconn);
?20????????????
?21????????}
?22????????#endregion
?23
?24????????public?SqlConnection?SConn
?25????????{
?26????????????get{return?_SConn;}
?27????????}
?28
?29
?30
?31????????public?enum?DBOperate
?32????????{
?33????????????Insert=1,
?34????????????Update,
?35????????????Delete,
?36????????????Pause,
?37????????????Select,
?38????????????Order,
?39????????????Other
?40????????}
?41
?42????????打開(kāi)關(guān)閉連接?Open(),Close()#region?打開(kāi)關(guān)閉連接?Open(),Close()
?43????????public?void?Open()
?44????????{_SConn.Open();}
?45
?46????????public?void?Close()
?47????????{_SConn.Close();}
?48????????#endregion????????
?49
?50????????根據(jù)語(yǔ)句查詢返回DataSet?SelectBySql(string?sqlstr)#region?根據(jù)語(yǔ)句查詢返回DataSet?SelectBySql(string?sqlstr)
?51????????public?DataSet?SelectBySql(string?sqlstr)
?52????????{
?53????????????SqlDataAdapter?da;
?54????????????DataSet?ds=new?DataSet();
?55
?56????????????da?=?new?SqlDataAdapter(?"SelectBySql",?_SConn?);
?57????????????da.SelectCommand.CommandType?=?CommandType.StoredProcedure;
?58????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@SqlStr",?sqlstr?)?);
?59????????????da.Fill(ds);
?60????????????da.Dispose();
?61
?62????????????return?ds;
?63????????}
?64????????#endregion
?65
?66????????3參數(shù)?根據(jù)?ID?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)#region?3參數(shù)?根據(jù)?ID?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)
?67????????public?SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)
?68????????{
?69????????????//一般為前臺(tái)頁(yè)面使用該函數(shù),不涉及到數(shù)據(jù)更新
?70????????????string?Sqlstr="";
?71????????????Sqlstr="select?*?from?"+TableName+"?where?"+KeyName+"="+KeyValue;
?72????????????SqlDataReader?r;
?73????????????SqlCommand?com=new?SqlCommand(Sqlstr,_SConn);
?74????????????Open();
?75????????????r?=?com.ExecuteReader();
?76????????????
?77????????????return?r;
?78????????????
?79????????}
?80????????#endregion
?81
?82????????3參數(shù)?根據(jù)?字符串?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)#region?3參數(shù)?根據(jù)?字符串?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)
?83????????public?SqlDataReader?SelectByKey(string?KeyValue,string?TableName,string?KeyName)
?84????????{
?85????????????//一般為前臺(tái)頁(yè)面使用該函數(shù),不涉及到數(shù)據(jù)更新
?86????????????string?Sqlstr="";
?87????????????Sqlstr="select?*?from?"+TableName+"?where?"+KeyName+"='"+KeyValue+"'";
?88????????????SqlDataReader?r;
?89????????????SqlCommand?com=new?SqlCommand(Sqlstr,_SConn);
?90????????????Open();
?91????????????r?=?com.ExecuteReader();
?92????????????com.Dispose();
?93????????????return?r;
?94????????????
?95????????}
?96????????#endregion
?97
?98????????1參數(shù)?根據(jù)語(yǔ)句返回一行SqlDataReader?SelectByKey(string?sqlstr)#region?1參數(shù)?根據(jù)語(yǔ)句返回一行SqlDataReader?SelectByKey(string?sqlstr)
?99????????public?SqlDataReader?SelectByKey(string?sqlstr)
100????????{
101????????????SqlDataReader?r=null;
102????????????
103????????????SqlCommand?com=new?SqlCommand(sqlstr,_SConn);
104????????????Open();
105????????????r?=?com.ExecuteReader();
106????????????com.Dispose();
107????????????return?r;
108????????}
109????????#endregion
110
111????????根據(jù)關(guān)鍵字刪除一行bool?DelectByKey(object?KeyValue,string?TableName,string?KeyName)#region?根據(jù)關(guān)鍵字刪除一行bool?DelectByKey(object?KeyValue,string?TableName,string?KeyName)
112????????public?bool?DelectByKey(object?KeyValue,string?TableName,string?KeyName)
113????????{
114????????????try
115????????????{
116????????????????string?Sqlstr="";
117
118????????????????if(Common.IsNum(KeyValue))
119????????????????????Sqlstr="Delete?from?"+TableName+"?where?"+KeyName+"="+Convert.ToInt32(KeyValue.ToString());
120????????????????else
121????????????????????Sqlstr="delete?from?"+TableName+"?where?"+KeyName+"='"+KeyValue.ToString()+"'";
122????????????????
123????????????????Open();
124????????????????SqlCommand?com=new?SqlCommand(Sqlstr,_SConn);
125????????????????com.ExecuteNonQuery();
126????????????????Close();
127????????????????com.Dispose();
128????????????????return?true;
129????????????}
130????????????catch
131????????????{
132????????????????Close();
133????????????????return?false;
134????????????}
135????????}
136????????#endregion
137
138????????操作函數(shù)?bool?Operate(string?SqlStr)#region?操作函數(shù)?bool?Operate(string?SqlStr)
139????????public?bool?Operate(string?SqlStr)
140????????{
141????????????
142????????????try
143????????????{
144????????????????????
145????????????????Open();
146????????????????SqlCommand?com=new?SqlCommand(?SqlStr,?_SConn?);
147????????????????com.ExecuteNonQuery();
148????????????????Close();
149????????????????com.Dispose();
150????????????????return?true;
151????????????}
152????????????catch
153????????????{
154????????????????Close();
155????????????????return?false;
156????????????}
157????????}
158????????#endregion
159
160????????統(tǒng)計(jì)記錄數(shù)?GetCount(string?sqlstr)#region?統(tǒng)計(jì)記錄數(shù)?GetCount(string?sqlstr)
161????????public?string?GetCount(string?sqlstr)
162????????{
163????????????string?str="";
164????????????SqlDataReader?r;
165????????????????
166????????????SqlCommand?com=new?SqlCommand(sqlstr,this._SConn);
167????????????Open();
168????????????r?=?com.ExecuteReader();
169????????????if(r.Read())
170????????????????str=r["sum"].ToString();
171????????????else
172????????????????str="";
173????????????r.Close();
174????????????Close();
175????????????
176????????????return?str;
177????????}
178????????#endregion
179
180????????分頁(yè)#region?分頁(yè)
181????????public?DataSet?CutPage(int?operation,string?TableName,string?FieldLists,string?KeyField,
182????????????string?Critical,string?SortType,int?PageSize,int?ShowPageNo)
183????????{
184????????????return?CutPage(operation,TableName,FieldLists,KeyField,
185????????????????Critical,SortType,PageSize,ShowPageNo,"");
186????????}
187
188????????public?DataSet?CutPage(int?operation,string?TableName,string?FieldLists,string?KeyField,
189????????????string?Critical,string?SortType,int?PageSize,int?ShowPageNo,string?Group)
190????????{
191????????????//????????????operation?int,????????--操作類型,0為取得當(dāng)前頁(yè)記錄集,1為取得記錄總數(shù)(RecordCount)
192????????????//????????????@TableName?varchar(100),????--要操作的表名
193????????????//????????????@FieldLists?varchar(8000),????--字段列表,可以為'*",也可為空
194????????????//????????????@KeyField?varchar(100),????--關(guān)鍵字段名
195????????????//????????????@Critical?varchar(200),????--查詢條件
196????????????//????????????@SortType?varchar(4),????????--排序類型,為'DESC'或者'ASC',為空是默認(rèn)為'ASC'
197????????????//????????????@PageSize?int,????????--每頁(yè)大小,大於0的整數(shù)
198????????????//????????????@ShowPageNo?int????????--當(dāng)前要顯示的頁(yè)碼,大於0的整數(shù),頁(yè)數(shù)從1開(kāi)始
199????????????SqlDataAdapter?da;
200????????????DataSet?ds=new?DataSet();
201????????????da?=?new?SqlDataAdapter(?"CutPage",?_SConn?);
202????????????da.SelectCommand.CommandType?=?CommandType.StoredProcedure;
203????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@operation",?operation?)?);
204????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@TableName",?TableName?)?);
205????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@FieldLists",?FieldLists?)?);
206????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@KeyField",?KeyField?)?);
207????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@Critical",?Critical?)?);
208????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@SortType",?SortType?)?);
209????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@PageSize",?PageSize?)?);
210????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@ShowPageNo",?ShowPageNo?)?);
211????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@Group",?Group?)?);
212????????????da.Fill(ds);
213
214????????????return?ds;
215????????}
216????????#endregion
217
218
219????????/**//
220
221????????基礎(chǔ)函數(shù)#region?基礎(chǔ)函數(shù)
222????????private?static?void?AttachParameters(SqlCommand?command,?SqlParameter[]?commandParameters)
223????????{
224????????????foreach?(SqlParameter?p?in?commandParameters)
225????????????{
226????????????????//check?for?derived?output?value?with?no?value?assigned
227????????????????if?((p.Direction?==?ParameterDirection.InputOutput)?&&?(p.Value?==?null))
228????????????????{
229????????????????????p.Value?=?DBNull.Value;
230????????????????}
231????????????????
232????????????????command.Parameters.Add(p);
233????????????}
234????????}
235
236????????private?static?void?PrepareCommand(SqlCommand?command,?SqlConnection?connection,?SqlTransaction?transaction,?CommandType?commandType,?string?commandText,?SqlParameter[]?commandParameters)
237????????{
238????????????//if?the?provided?connection?is?not?open,?we?will?open?it
239????????????if?(connection.State?!=?ConnectionState.Open)
240????????????{
241????????????????connection.Open();
242????????????}
243
244????????????//associate?the?connection?with?the?command
245????????????command.Connection?=?connection;
246
247????????????//set?the?command?text?(stored?procedure?name?or?SQL?statement)
248????????????command.CommandText?=?commandText;
249
250????????????//if?we?were?provided?a?transaction,?assign?it.
251????????????if?(transaction?!=?null)
252????????????{
253????????????????command.Transaction?=?transaction;
254????????????}
255
256????????????//set?the?command?type
257????????????command.CommandType?=?commandType;
258
259????????????//attach?the?command?parameters?if?they?are?provided
260????????????if?(commandParameters?!=?null)
261????????????{
262????????????????AttachParameters(command,?commandParameters);
263????????????}
264
265????????????return;
266????????}
267
268????????#endregion
269
270????????執(zhí)行SQL語(yǔ)句#region?執(zhí)行SQL語(yǔ)句
271
272????????/**////?<summary>
273????????///?執(zhí)行SQL語(yǔ)句,返回受影響的行數(shù)
274????????///?</summary>
275????????///?<param?name="strSql">SQL語(yǔ)句</param>
276????????public?int?ExecNonSql(string?strSql)
277????????{
278????????????return?ExecNonSql(strSql,null);
279????????}
280????????public?int?ExecNonSql(string?strSql,SqlParameter[]?commandParameters)
281????????{
282????????????SqlCommand?cmd?=?new?SqlCommand();
283????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
284????????????int?retval?=?cmd.ExecuteNonQuery();
285
286????????????this.Close();
287????????????return?retval;
288????????}
289
290????????/**////?<summary>
291????????///?執(zhí)行SQL語(yǔ)句,返回第一行第一列字符串
292????????///?</summary>
293????????///?<param?name="strSql">SQL語(yǔ)句</param>
294????????public?string?ExecScalarSql(string?strSql)
295????????{
296????????????return?ExecScalarSql(strSql,null);
297????????}
298????????public?string?ExecScalarSql(string?strSql,SqlParameter[]?commandParameters)
299????????{
300????????????SqlCommand?cmd?=?new?SqlCommand();
301????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
302????????????object?retval?=?cmd.ExecuteScalar();
303????????????if(retval?==?null)
304????????????????retval?=?"";
305
306????????????this.Close();
307????????????return?retval.ToString();
308????????}
309
310????????/**////?<summary>
311????????///?執(zhí)行SQL語(yǔ)句,返回一個(gè)SqlDataReader對(duì)象
312????????///?</summary>
313????????///?<param?name="strSql">SQL語(yǔ)句</param>
314????????public?SqlDataReader?ExecReaderSql(string?strSql)
315????????{
316????????????return?ExecReaderSql(strSql,null);
317????????}
318
319????????public?SqlDataReader?ExecReaderSql(string?strSql,SqlParameter[]?commandParameters)
320????????{
321????????????SqlCommand?cmd?=?new?SqlCommand();
322????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
323
324????????????SqlDataReader?dr;
325????????????dr?=?cmd.ExecuteReader();
326????????????
327????????????return?dr;
328????????}
329
330????????/**////?<summary>
331????????///?執(zhí)行SQL語(yǔ)句,返回一個(gè)DataSet對(duì)象
332????????///?</summary>
333????????///?<param?name="strSql">SQL語(yǔ)句</param>
334????????public?DataSet?ExecDatasetSql(string?strSql)
335????????{
336????????????return?ExecDatasetSql(strSql,null);
337????????}
338????????public?DataSet?ExecDatasetSql(string?strSql,SqlParameter[]?commandParameters)
339????????{
340????????????SqlCommand?cmd?=?new?SqlCommand();
341????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
342????????????
343????????????//create?the?DataAdapter?&?DataSet
344????????????SqlDataAdapter?da?=?new?SqlDataAdapter(cmd);
345????????????DataSet?ds?=?new?DataSet();
346
347????????????da.Fill(ds);
348????????????
349????????????cmd.Parameters.Clear();
350????????????
351????????????this.Close();
352????????????return?ds;????????????????????????
353????????}
354????????
355????????#endregion
356
357????????執(zhí)行存儲(chǔ)過(guò)程#region?執(zhí)行存儲(chǔ)過(guò)程
358
359????????/**////?<summary>
360????????///?執(zhí)行SQL存儲(chǔ)過(guò)程,返回受影響的行數(shù)
361????????///?</summary>
362????????///?<param?name="spSql">存儲(chǔ)過(guò)程名</param>
363????????///?<param?name="parameterValues">存儲(chǔ)過(guò)程參數(shù)</param>
364????????public?int?ExecNonSP(string?spSql)
365????????{
366????????????return?ExecNonSP(spSql,null);
367????????}
368????????public?int?ExecNonSP(string?spSql,SqlParameter[]?commandParameters)
369????????{
370????????????SqlCommand?cmd?=?new?SqlCommand();
371????????????
372????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
373????????????
374????????????int?retval?=?cmd.ExecuteNonQuery();
375????????????cmd.Parameters.Clear();
376
377????????????this.Close();
378????????????return?retval;
379????????}
380????????/**////?<summary>
381????????///?執(zhí)行SQL存儲(chǔ)過(guò)程,返回第一行第一列字符串
382????????///?</summary>
383????????///?<param?name="spSql">存儲(chǔ)過(guò)程名</param>
384????????///?<param?name="parameterValues">存儲(chǔ)過(guò)程參數(shù)</param>
385????????public?string?ExecScalarSP(string?spSql)
386????????{
387????????????return?ExecScalarSP(spSql,null);
388????????}
389????????public?string?ExecScalarSP(string?spSql,SqlParameter[]?commandParameters)
390????????{
391????????????SqlCommand?cmd?=?new?SqlCommand();
392????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
393????????????object?retval?=?cmd.ExecuteScalar();
394????????????cmd.Parameters.Clear();
395
396????????????if(retval?==?null)
397????????????????retval?=?"";
398
399????????????this.Close();
400????????????return?retval.ToString();
401????????}
402
403????????/**////?<summary>
404????????///?執(zhí)行SQL存儲(chǔ)過(guò)程,返回一個(gè)SqlDataReader對(duì)象
405????????///?</summary>
406????????///?<param?name="strSql">SQL語(yǔ)句</param>
407????????public?SqlDataReader?ExecReaderSP(string?spSql)
408????????{
409????????????return?ExecReaderSP(spSql,null);
410????????}
411????????public?SqlDataReader?ExecReaderSP(string?spSql,SqlParameter[]?commandParameters)
412????????{
413????????????SqlCommand?cmd?=?new?SqlCommand();
414????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
415
416????????????SqlDataReader?dr;
417????????????dr?=?cmd.ExecuteReader();
418????????????cmd.Parameters.Clear();
419????????????
420????????????return?dr;
421????????}
422
423????????/**////?<summary>
424????????///?執(zhí)行SQL語(yǔ)句,返回一個(gè)DataSet對(duì)象
425????????///?</summary>
426????????///?<param?name="strSql">SQL語(yǔ)句</param>
427????????public?DataSet?ExecDatasetSP(string?spSql)
428????????{
429????????????return?ExecDatasetSP(spSql,null);
430????????}
431????????public?DataSet?ExecDatasetSP(string?spSql,SqlParameter[]?commandParameters)
432????????{
433????????????SqlCommand?cmd?=?new?SqlCommand();
434????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
435????????????
436????????????//create?the?DataAdapter?&?DataSet
437????????????SqlDataAdapter?da?=?new?SqlDataAdapter(cmd);
438????????????DataSet?ds?=?new?DataSet();
439
440????????????da.Fill(ds);
441????????????
442????????????cmd.Parameters.Clear();
443????????????
444????????????this.Close();
445????????????return?ds;????????????????????????
446????????}
447????????
448????????#endregion
449????????
450????????執(zhí)行XML#region?執(zhí)行XML
451????????#endregion
452
453????????/**//
454????}
455}
456
??2using?System.Data;
??3using?System.Data.SqlClient;
??4
??5using?CommonClass;
??6
??7namespace?SqlConnClass
??8{
??9????/**////?<summary>
?10????///?SqlConn?的摘要說(shuō)明。
?11????///?</summary>
?12????public?class?SqlConn
?13????{
?14????????private?SqlConnection?_SConn;
?15
?16????????構(gòu)造函數(shù)#region?構(gòu)造函數(shù)
?17????????public?SqlConn(string?sqlconn)
?18????????{
?19????????????this._SConn=new?SqlConnection(sqlconn);
?20????????????
?21????????}
?22????????#endregion
?23
?24????????public?SqlConnection?SConn
?25????????{
?26????????????get{return?_SConn;}
?27????????}
?28
?29
?30
?31????????public?enum?DBOperate
?32????????{
?33????????????Insert=1,
?34????????????Update,
?35????????????Delete,
?36????????????Pause,
?37????????????Select,
?38????????????Order,
?39????????????Other
?40????????}
?41
?42????????打開(kāi)關(guān)閉連接?Open(),Close()#region?打開(kāi)關(guān)閉連接?Open(),Close()
?43????????public?void?Open()
?44????????{_SConn.Open();}
?45
?46????????public?void?Close()
?47????????{_SConn.Close();}
?48????????#endregion????????
?49
?50????????根據(jù)語(yǔ)句查詢返回DataSet?SelectBySql(string?sqlstr)#region?根據(jù)語(yǔ)句查詢返回DataSet?SelectBySql(string?sqlstr)
?51????????public?DataSet?SelectBySql(string?sqlstr)
?52????????{
?53????????????SqlDataAdapter?da;
?54????????????DataSet?ds=new?DataSet();
?55
?56????????????da?=?new?SqlDataAdapter(?"SelectBySql",?_SConn?);
?57????????????da.SelectCommand.CommandType?=?CommandType.StoredProcedure;
?58????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@SqlStr",?sqlstr?)?);
?59????????????da.Fill(ds);
?60????????????da.Dispose();
?61
?62????????????return?ds;
?63????????}
?64????????#endregion
?65
?66????????3參數(shù)?根據(jù)?ID?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)#region?3參數(shù)?根據(jù)?ID?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)
?67????????public?SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)
?68????????{
?69????????????//一般為前臺(tái)頁(yè)面使用該函數(shù),不涉及到數(shù)據(jù)更新
?70????????????string?Sqlstr="";
?71????????????Sqlstr="select?*?from?"+TableName+"?where?"+KeyName+"="+KeyValue;
?72????????????SqlDataReader?r;
?73????????????SqlCommand?com=new?SqlCommand(Sqlstr,_SConn);
?74????????????Open();
?75????????????r?=?com.ExecuteReader();
?76????????????
?77????????????return?r;
?78????????????
?79????????}
?80????????#endregion
?81
?82????????3參數(shù)?根據(jù)?字符串?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)#region?3參數(shù)?根據(jù)?字符串?返回一行SqlDataReader?SelectByKey(int?KeyValue,string?TableName,string?KeyName)
?83????????public?SqlDataReader?SelectByKey(string?KeyValue,string?TableName,string?KeyName)
?84????????{
?85????????????//一般為前臺(tái)頁(yè)面使用該函數(shù),不涉及到數(shù)據(jù)更新
?86????????????string?Sqlstr="";
?87????????????Sqlstr="select?*?from?"+TableName+"?where?"+KeyName+"='"+KeyValue+"'";
?88????????????SqlDataReader?r;
?89????????????SqlCommand?com=new?SqlCommand(Sqlstr,_SConn);
?90????????????Open();
?91????????????r?=?com.ExecuteReader();
?92????????????com.Dispose();
?93????????????return?r;
?94????????????
?95????????}
?96????????#endregion
?97
?98????????1參數(shù)?根據(jù)語(yǔ)句返回一行SqlDataReader?SelectByKey(string?sqlstr)#region?1參數(shù)?根據(jù)語(yǔ)句返回一行SqlDataReader?SelectByKey(string?sqlstr)
?99????????public?SqlDataReader?SelectByKey(string?sqlstr)
100????????{
101????????????SqlDataReader?r=null;
102????????????
103????????????SqlCommand?com=new?SqlCommand(sqlstr,_SConn);
104????????????Open();
105????????????r?=?com.ExecuteReader();
106????????????com.Dispose();
107????????????return?r;
108????????}
109????????#endregion
110
111????????根據(jù)關(guān)鍵字刪除一行bool?DelectByKey(object?KeyValue,string?TableName,string?KeyName)#region?根據(jù)關(guān)鍵字刪除一行bool?DelectByKey(object?KeyValue,string?TableName,string?KeyName)
112????????public?bool?DelectByKey(object?KeyValue,string?TableName,string?KeyName)
113????????{
114????????????try
115????????????{
116????????????????string?Sqlstr="";
117
118????????????????if(Common.IsNum(KeyValue))
119????????????????????Sqlstr="Delete?from?"+TableName+"?where?"+KeyName+"="+Convert.ToInt32(KeyValue.ToString());
120????????????????else
121????????????????????Sqlstr="delete?from?"+TableName+"?where?"+KeyName+"='"+KeyValue.ToString()+"'";
122????????????????
123????????????????Open();
124????????????????SqlCommand?com=new?SqlCommand(Sqlstr,_SConn);
125????????????????com.ExecuteNonQuery();
126????????????????Close();
127????????????????com.Dispose();
128????????????????return?true;
129????????????}
130????????????catch
131????????????{
132????????????????Close();
133????????????????return?false;
134????????????}
135????????}
136????????#endregion
137
138????????操作函數(shù)?bool?Operate(string?SqlStr)#region?操作函數(shù)?bool?Operate(string?SqlStr)
139????????public?bool?Operate(string?SqlStr)
140????????{
141????????????
142????????????try
143????????????{
144????????????????????
145????????????????Open();
146????????????????SqlCommand?com=new?SqlCommand(?SqlStr,?_SConn?);
147????????????????com.ExecuteNonQuery();
148????????????????Close();
149????????????????com.Dispose();
150????????????????return?true;
151????????????}
152????????????catch
153????????????{
154????????????????Close();
155????????????????return?false;
156????????????}
157????????}
158????????#endregion
159
160????????統(tǒng)計(jì)記錄數(shù)?GetCount(string?sqlstr)#region?統(tǒng)計(jì)記錄數(shù)?GetCount(string?sqlstr)
161????????public?string?GetCount(string?sqlstr)
162????????{
163????????????string?str="";
164????????????SqlDataReader?r;
165????????????????
166????????????SqlCommand?com=new?SqlCommand(sqlstr,this._SConn);
167????????????Open();
168????????????r?=?com.ExecuteReader();
169????????????if(r.Read())
170????????????????str=r["sum"].ToString();
171????????????else
172????????????????str="";
173????????????r.Close();
174????????????Close();
175????????????
176????????????return?str;
177????????}
178????????#endregion
179
180????????分頁(yè)#region?分頁(yè)
181????????public?DataSet?CutPage(int?operation,string?TableName,string?FieldLists,string?KeyField,
182????????????string?Critical,string?SortType,int?PageSize,int?ShowPageNo)
183????????{
184????????????return?CutPage(operation,TableName,FieldLists,KeyField,
185????????????????Critical,SortType,PageSize,ShowPageNo,"");
186????????}
187
188????????public?DataSet?CutPage(int?operation,string?TableName,string?FieldLists,string?KeyField,
189????????????string?Critical,string?SortType,int?PageSize,int?ShowPageNo,string?Group)
190????????{
191????????????//????????????operation?int,????????--操作類型,0為取得當(dāng)前頁(yè)記錄集,1為取得記錄總數(shù)(RecordCount)
192????????????//????????????@TableName?varchar(100),????--要操作的表名
193????????????//????????????@FieldLists?varchar(8000),????--字段列表,可以為'*",也可為空
194????????????//????????????@KeyField?varchar(100),????--關(guān)鍵字段名
195????????????//????????????@Critical?varchar(200),????--查詢條件
196????????????//????????????@SortType?varchar(4),????????--排序類型,為'DESC'或者'ASC',為空是默認(rèn)為'ASC'
197????????????//????????????@PageSize?int,????????--每頁(yè)大小,大於0的整數(shù)
198????????????//????????????@ShowPageNo?int????????--當(dāng)前要顯示的頁(yè)碼,大於0的整數(shù),頁(yè)數(shù)從1開(kāi)始
199????????????SqlDataAdapter?da;
200????????????DataSet?ds=new?DataSet();
201????????????da?=?new?SqlDataAdapter(?"CutPage",?_SConn?);
202????????????da.SelectCommand.CommandType?=?CommandType.StoredProcedure;
203????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@operation",?operation?)?);
204????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@TableName",?TableName?)?);
205????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@FieldLists",?FieldLists?)?);
206????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@KeyField",?KeyField?)?);
207????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@Critical",?Critical?)?);
208????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@SortType",?SortType?)?);
209????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@PageSize",?PageSize?)?);
210????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@ShowPageNo",?ShowPageNo?)?);
211????????????da.SelectCommand.Parameters.Add(?new?SqlParameter(?"@Group",?Group?)?);
212????????????da.Fill(ds);
213
214????????????return?ds;
215????????}
216????????#endregion
217
218
219????????/**//
220
221????????基礎(chǔ)函數(shù)#region?基礎(chǔ)函數(shù)
222????????private?static?void?AttachParameters(SqlCommand?command,?SqlParameter[]?commandParameters)
223????????{
224????????????foreach?(SqlParameter?p?in?commandParameters)
225????????????{
226????????????????//check?for?derived?output?value?with?no?value?assigned
227????????????????if?((p.Direction?==?ParameterDirection.InputOutput)?&&?(p.Value?==?null))
228????????????????{
229????????????????????p.Value?=?DBNull.Value;
230????????????????}
231????????????????
232????????????????command.Parameters.Add(p);
233????????????}
234????????}
235
236????????private?static?void?PrepareCommand(SqlCommand?command,?SqlConnection?connection,?SqlTransaction?transaction,?CommandType?commandType,?string?commandText,?SqlParameter[]?commandParameters)
237????????{
238????????????//if?the?provided?connection?is?not?open,?we?will?open?it
239????????????if?(connection.State?!=?ConnectionState.Open)
240????????????{
241????????????????connection.Open();
242????????????}
243
244????????????//associate?the?connection?with?the?command
245????????????command.Connection?=?connection;
246
247????????????//set?the?command?text?(stored?procedure?name?or?SQL?statement)
248????????????command.CommandText?=?commandText;
249
250????????????//if?we?were?provided?a?transaction,?assign?it.
251????????????if?(transaction?!=?null)
252????????????{
253????????????????command.Transaction?=?transaction;
254????????????}
255
256????????????//set?the?command?type
257????????????command.CommandType?=?commandType;
258
259????????????//attach?the?command?parameters?if?they?are?provided
260????????????if?(commandParameters?!=?null)
261????????????{
262????????????????AttachParameters(command,?commandParameters);
263????????????}
264
265????????????return;
266????????}
267
268????????#endregion
269
270????????執(zhí)行SQL語(yǔ)句#region?執(zhí)行SQL語(yǔ)句
271
272????????/**////?<summary>
273????????///?執(zhí)行SQL語(yǔ)句,返回受影響的行數(shù)
274????????///?</summary>
275????????///?<param?name="strSql">SQL語(yǔ)句</param>
276????????public?int?ExecNonSql(string?strSql)
277????????{
278????????????return?ExecNonSql(strSql,null);
279????????}
280????????public?int?ExecNonSql(string?strSql,SqlParameter[]?commandParameters)
281????????{
282????????????SqlCommand?cmd?=?new?SqlCommand();
283????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
284????????????int?retval?=?cmd.ExecuteNonQuery();
285
286????????????this.Close();
287????????????return?retval;
288????????}
289
290????????/**////?<summary>
291????????///?執(zhí)行SQL語(yǔ)句,返回第一行第一列字符串
292????????///?</summary>
293????????///?<param?name="strSql">SQL語(yǔ)句</param>
294????????public?string?ExecScalarSql(string?strSql)
295????????{
296????????????return?ExecScalarSql(strSql,null);
297????????}
298????????public?string?ExecScalarSql(string?strSql,SqlParameter[]?commandParameters)
299????????{
300????????????SqlCommand?cmd?=?new?SqlCommand();
301????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
302????????????object?retval?=?cmd.ExecuteScalar();
303????????????if(retval?==?null)
304????????????????retval?=?"";
305
306????????????this.Close();
307????????????return?retval.ToString();
308????????}
309
310????????/**////?<summary>
311????????///?執(zhí)行SQL語(yǔ)句,返回一個(gè)SqlDataReader對(duì)象
312????????///?</summary>
313????????///?<param?name="strSql">SQL語(yǔ)句</param>
314????????public?SqlDataReader?ExecReaderSql(string?strSql)
315????????{
316????????????return?ExecReaderSql(strSql,null);
317????????}
318
319????????public?SqlDataReader?ExecReaderSql(string?strSql,SqlParameter[]?commandParameters)
320????????{
321????????????SqlCommand?cmd?=?new?SqlCommand();
322????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
323
324????????????SqlDataReader?dr;
325????????????dr?=?cmd.ExecuteReader();
326????????????
327????????????return?dr;
328????????}
329
330????????/**////?<summary>
331????????///?執(zhí)行SQL語(yǔ)句,返回一個(gè)DataSet對(duì)象
332????????///?</summary>
333????????///?<param?name="strSql">SQL語(yǔ)句</param>
334????????public?DataSet?ExecDatasetSql(string?strSql)
335????????{
336????????????return?ExecDatasetSql(strSql,null);
337????????}
338????????public?DataSet?ExecDatasetSql(string?strSql,SqlParameter[]?commandParameters)
339????????{
340????????????SqlCommand?cmd?=?new?SqlCommand();
341????????????PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
342????????????
343????????????//create?the?DataAdapter?&?DataSet
344????????????SqlDataAdapter?da?=?new?SqlDataAdapter(cmd);
345????????????DataSet?ds?=?new?DataSet();
346
347????????????da.Fill(ds);
348????????????
349????????????cmd.Parameters.Clear();
350????????????
351????????????this.Close();
352????????????return?ds;????????????????????????
353????????}
354????????
355????????#endregion
356
357????????執(zhí)行存儲(chǔ)過(guò)程#region?執(zhí)行存儲(chǔ)過(guò)程
358
359????????/**////?<summary>
360????????///?執(zhí)行SQL存儲(chǔ)過(guò)程,返回受影響的行數(shù)
361????????///?</summary>
362????????///?<param?name="spSql">存儲(chǔ)過(guò)程名</param>
363????????///?<param?name="parameterValues">存儲(chǔ)過(guò)程參數(shù)</param>
364????????public?int?ExecNonSP(string?spSql)
365????????{
366????????????return?ExecNonSP(spSql,null);
367????????}
368????????public?int?ExecNonSP(string?spSql,SqlParameter[]?commandParameters)
369????????{
370????????????SqlCommand?cmd?=?new?SqlCommand();
371????????????
372????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
373????????????
374????????????int?retval?=?cmd.ExecuteNonQuery();
375????????????cmd.Parameters.Clear();
376
377????????????this.Close();
378????????????return?retval;
379????????}
380????????/**////?<summary>
381????????///?執(zhí)行SQL存儲(chǔ)過(guò)程,返回第一行第一列字符串
382????????///?</summary>
383????????///?<param?name="spSql">存儲(chǔ)過(guò)程名</param>
384????????///?<param?name="parameterValues">存儲(chǔ)過(guò)程參數(shù)</param>
385????????public?string?ExecScalarSP(string?spSql)
386????????{
387????????????return?ExecScalarSP(spSql,null);
388????????}
389????????public?string?ExecScalarSP(string?spSql,SqlParameter[]?commandParameters)
390????????{
391????????????SqlCommand?cmd?=?new?SqlCommand();
392????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
393????????????object?retval?=?cmd.ExecuteScalar();
394????????????cmd.Parameters.Clear();
395
396????????????if(retval?==?null)
397????????????????retval?=?"";
398
399????????????this.Close();
400????????????return?retval.ToString();
401????????}
402
403????????/**////?<summary>
404????????///?執(zhí)行SQL存儲(chǔ)過(guò)程,返回一個(gè)SqlDataReader對(duì)象
405????????///?</summary>
406????????///?<param?name="strSql">SQL語(yǔ)句</param>
407????????public?SqlDataReader?ExecReaderSP(string?spSql)
408????????{
409????????????return?ExecReaderSP(spSql,null);
410????????}
411????????public?SqlDataReader?ExecReaderSP(string?spSql,SqlParameter[]?commandParameters)
412????????{
413????????????SqlCommand?cmd?=?new?SqlCommand();
414????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
415
416????????????SqlDataReader?dr;
417????????????dr?=?cmd.ExecuteReader();
418????????????cmd.Parameters.Clear();
419????????????
420????????????return?dr;
421????????}
422
423????????/**////?<summary>
424????????///?執(zhí)行SQL語(yǔ)句,返回一個(gè)DataSet對(duì)象
425????????///?</summary>
426????????///?<param?name="strSql">SQL語(yǔ)句</param>
427????????public?DataSet?ExecDatasetSP(string?spSql)
428????????{
429????????????return?ExecDatasetSP(spSql,null);
430????????}
431????????public?DataSet?ExecDatasetSP(string?spSql,SqlParameter[]?commandParameters)
432????????{
433????????????SqlCommand?cmd?=?new?SqlCommand();
434????????????PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
435????????????
436????????????//create?the?DataAdapter?&?DataSet
437????????????SqlDataAdapter?da?=?new?SqlDataAdapter(cmd);
438????????????DataSet?ds?=?new?DataSet();
439
440????????????da.Fill(ds);
441????????????
442????????????cmd.Parameters.Clear();
443????????????
444????????????this.Close();
445????????????return?ds;????????????????????????
446????????}
447????????
448????????#endregion
449????????
450????????執(zhí)行XML#region?執(zhí)行XML
451????????#endregion
452
453????????/**//
454????}
455}
456
轉(zhuǎn)載于:https://www.cnblogs.com/jhobo/archive/2006/08/31/491083.html
總結(jié)
以上是生活随笔為你收集整理的数据库函数..........的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SolarWinds2002使用说明(簡
- 下一篇: SQL Server链接服务器 Link