.NET基础操作回顾_使用ADO.NET操作SqlServer使用的类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了.NET基础操作回顾_使用ADO.NET操作SqlServer使用的类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3739字,纯文字阅读大概需要6分钟。
内容图文
![.NET基础操作回顾_使用ADO.NET操作SqlServer使用的类](/upload/InfoBanner/zyjiaocheng/460/a01c2c2e3a2f49e5b6f3b2fd9c8eedaf.jpg)
using System;
using System.Collections;
using System.Text;
using System.Data
using System.Data.SqlClient;
public static bool Add(Hashtable model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SysUser("); strSql.Append("UserID,EffectiveTime)"); strSql.Append(" values ("); strSql.Append("@UserID@EffectiveTime)"); SqlParameter[] parameters = {new SqlParameter("@UserID", SqlDbType.VarChar,50),new SqlParameter("@EffectiveTime", SqlDbType.VarChar,30)}; parameters[0].Value = model["UserID"]; parameters[1].Value = model["EffectiveTime"]; return SQLHelper.ExecuteNonQuery(ConnString, strSql.ToString(), parameters) > 0; }
上面方法用到了四个基础类:Hashtable用来存放传入的参数(key/value 组合);StringBuilder用来拼接字符串;因为StringBuilder会预先分配存储空间,效率比string高;SqlParameter,向SqlCommand传递参数 ;string 在这样充当最终的SQL 字符串参数(由StringBuilder转化而来)。
2) 执行的方法
public static int ExecuteNonQuery(string connString, string cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connString)) { PrepareCommand(cmd, conn, null, CommandType.Text, cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; } }
上面方法也用到了四个类:string(略过);SqlParameter,向SqlCommand传递参数 ;SqlCommand 类,对SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程(不能被继承);SqlConnection 类,表示到 SQL Server 数据库的打开连接(不能被继承)。
3)查询的方法
public static DataSet Adapter(string connString, string cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand(); DataSet ds = new DataSet(); using (SqlConnection conn = new SqlConnection(connString)) { PrepareCommand(cmd, conn, null, CommandType.Text, cmdText, cmdParms); SqlDataAdapter ada = new SqlDataAdapter(cmd); ada.Fill(ds); cmd.Parameters.Clear(); return ds; } }
上面方法也用到了六个类:string(略过);SqlParameter,向SqlCommand传递参数 ;SqlCommand类,对SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程(不能被继承);SqlConnection 类,表示到 SQL Server 数据库的打开连接(不能被继承);DataSet,一个存放于内存中的数据缓存类;SqlDataAdapter,用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接,一个DataSet中至少包含一个DataTable(一个内存中的数据表类)。.
4)事务的执行类
public static int ExecuteNonQuery(string connString, List<string> listCmdText, List<SqlParameter[]> listCmdParms) { if (listCmdText.Count != listCmdParms.Count) { return -1; } int val = 0; SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connString)) { if (conn.State != ConnectionState.Open) { conn.Open(); } SqlTransaction trans = conn.BeginTransaction(); try { for (int i = 0; i < listCmdText.Count; i++) { PrepareCommand(cmd, conn, trans, CommandType.Text, listCmdText[i], listCmdParms[i]); val += cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); } trans.Commit(); } catch(Exception ex) { trans.Rollback(); if (conn.State == ConnectionState.Open) { conn.Close(); } throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } } return val; }
上文未描述的类:SqlTransaction,在 SQL Server 数据库中生成的 Transact-SQL 事务的类(用于多条SQL执行);List,通过索引访问的对象的强类型列表。
小结一下:
1)拼接SQL字符串:会用的String、StringBuilder
2)通用参数传递:List、HashTable
3)专用类(链接其它数据库采用不同的近似类库):参数传递类,SqlParameter;数据库连接类,SqlConnection ;事务类,SqlTransaction;SqlCommand,命令执行类;SqlDataAdapter,命令执行和链接类。
.NET基础操作回顾_使用ADO.NET操作SqlServer使用的类
标签:
本文系统来源:http://www.cnblogs.com/hhhh2010/p/5256543.html
内容总结
以上是互联网集市为您收集整理的.NET基础操作回顾_使用ADO.NET操作SqlServer使用的类全部内容,希望文章能够帮你解决.NET基础操作回顾_使用ADO.NET操作SqlServer使用的类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。