




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
data source 和initial cataloginitial catalog与database的区别是什么Initial Catalog: DataBase: 两者没有任何区别只是名称不一样,就好像是人类的真实姓名与曾用名一样。都可以叫你。*Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。 你可以使用SQL SERVER的用户名和密码进行登录,如: Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=数据库名;Data Source=;User ID=sa;Password=密码*Integrated Security - 或 - Trusted_Connection false 当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。 可识别的值为 true、false、yes、no 以及与 true 等效的 sspi(强烈推荐)。 *ADO.net 中数据库连接方式 System.Data.SqlClient.SqlConnection 常用的一些连接字符串(C#代码):SqlConnection conn = new SqlConnection( “Server=(local);Integrated Security=SSPI;database=Pubs“);SqlConnection conn = new SqlConnection(“server=(local)NetSDK;database=pubs;Integrated Security=SSPI“);SqlConnection conn = new SqlConnection(“Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;“);SqlConnection conn = new SqlConnection(“ data source=(local);initial catalog=xr;integrated security=SSPI; persist security info=False;workstation id=XURUI;packet size=4096; “);SqlConnection myConn = new System.Data.SqlClient.SqlConnection(“Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer“);SqlConnection conn = new SqlConnection( “ uid=sa;pwd=passwords;initial catalog=pubs;data source=;Connect Timeout=900“);region 私有变量/ / 表示一个到数据库的打开的连接/ private System.Data.SqlClient.SqlConnection Con = new SqlConnection();/ / 表示执行对象是SQl还是存储过程/ private System.Data.SqlClient.SqlCommand Cmd = new SqlCommand();/ / 表示用于填充 System.Data.DataSet 和更新数据库的一组数据命令和到数据库的连接/ private System.Data.SqlClient.SqlDataAdapter Dtapt = new SqlDataAdapter();/ / 表示要在数据库中生成的事务/ private System.Data.SqlClient.SqlTransaction sqlTran;/ / 提供从数据源读取数据行的只进流的方法/ private SqlDataReader dtrValue = null;#endregion#region数据库连接处理/ / 获得webconfig中的 默认 Sql连接字符串/ private string strConSqlgetreturn System.Configuration.ConfigurationManager.AppSettingsSQLConntionStr.ToString();#endregion#region 事务处理/ / 开始事务/ public void BeginTransaction()if (Con.State = ConnectionState.Closed)/打开连接 OpenCn();/开始事务 if (sqlTran = null)sqlTran = Con.BeginTransaction();Cmd.Transaction = sqlTran;/ / 提交事务/ public void CommitTransection()sqlTran.Commit();sqlTran.Dispose();sqlTran = null;CloseCn();/ / 回滚事务/ public void RollbackTransection()sqlTran.Rollback();sqlTran.Dispose();sqlTran = null;CloseCn();#endregion#region返回分页表数据Datatable Read 方式获取数据,数据量建议在查询结果在10000条记录内/ / 用于分页控件,返回需要显示页的数据和记录条数/ / SQL语句/ SQL参数和其对应值/ 开始记录/ 每页显示记录条数/ 返回记录条数/ 查询数据集 protected DataTable ExecuteReadTable(string p_strSql, SqlParameter p_CmdParms, int p_intStart, int p_intPageSize, ref int out_intCount)return ExecuteReadTable(CommandType.Text, p_strSql, p_CmdParms, p_intStart, p_intPageSize, ref out_intCount);/ / 1. 根据存储过程和参数值得到DataTable 值/ 2. 根据SQL的得到DataTable 值/ / 是存储过程还是SQL/ 开始记录/ 每页显示条数/ 可是是SQL 也可以是存储过程/ SqlParameter参数列表/ 返回总记录数/ 返回DataTable protected DataTable ExecuteReadTable(CommandType p_objCmdType, string p_strSql, SqlParameter p_CmdParms, int p_intStart, int p_intPageSize, ref int out_intCount)DataTable dtb = new DataTable();DateTime dtStart = DateTime.Now;dtrValue = ExecuteReader(p_objCmdType, p_strSql, p_CmdParms);if (dtrValue = null)CloseCn();return dtb;int intColLength = dtrValue.FieldCount;for (int i = 0; i intColLength; i+)/构造sql的table dtb.Columns.Add(dtrValue.GetName(i), GetColType(i);DataRow dr;int k = 0;if (dtrValue.HasRows)/读取数据行值 while (dtrValue.Read()/读取分页间数据 if (p_intStart = k & k p_intStart + p_intPageSize)dr = dtb.NewRow();/读取每列值 for (int j = 0; j intColLength; j+)/读取每列的值 drdtrValue.GetName(j) = GetValue(j, GetFieldType(j).ToString();dtb.Rows.Add(dr);k+;/删除了当前页所有数据则读上一页数据 if (k = p_intStart)while (k = p_intStart)p_intStart = p_intStart - p_intPageSize;k = 0;dtrValue = ExecuteReader(p_objCmdType, p_strSql, p_CmdParms);if (dtrValue.HasRows)while (dtrValue.Read()/读取分页间数据 if (p_intStart = k & k p_intStart + p_intPageSize)dr = dtb.NewRow();/读取每列值 for (int j = 0; j intColLength; j+)/读取每列的值 drdtrValue.GetName(j) = GetValue(j, GetFieldType(j).ToString();dtb.Rows.Add(dr);k+;CloseCn();SEHR.BLL.Function.AddSQLLog.WriteLog(p_strSql, dtStart.TimeOfDay.ToString(), DateTime.Now.TimeOfDay.ToString(), Convert.ToString(DateTime.Now - dtStart);if (out_intCount = 0)out_intCount = k;/获得总行数并且返回到页面 return dtb;#endregion#region ExecuteReader 执行SQL语句/ / ExecuteReader/ / 命令类型 1CommandType.Text SQL语句 2CommandType.StoredProcedure存储过程/ 命令类型 1 SQL语句 2存储过程名称/ SqlParameter/ SqlDataReader private SqlDataReader ExecuteReader(CommandType p_objCmdType, string p_strSQL, SqlParameter p_CmdParms)SqlDataReader dtrRet = null;try/打开连接 OpenCn();/命令行连接 Cmd.Connection = Con;Cmd.CommandText = p_strSQL;/是SQL语句还是存储过程 Cmd.CommandType = p_objCmdType;/循环CmdParms值 if (p_CmdParms != null)foreach (SqlParameter objParm in p_CmdParms)Cmd.Parameters.Add(objParm);dtrRet = Cmd.ExecuteReader();Cmd.Parameters.Clear();return dtrRet;catch (Exception e)string strErr = string.Empty; /p_CmdParms 参数值 if (p_CmdParms != null)foreach (SqlParameter objParm in p_CmdParms)strErr += objParm.ParameterName + = + objParm.Value + ;if (Con.State != ConnectionState.Closed & sqlTran = null)Cmd.Parameters.Clear();CloseCn();/ 写错误日志 SEHR.BLL.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论