东莞做网站建设公司,太和县建设银行网站,唯样商城,单位网站中文域名到期续费概括ADO.NET数据库连接的所有形式(基础#xff09; 可能大家进来会喷笔者#xff0c;这么基础的知识还放在首页。那么笔者就要问问大家了#xff0c;你可能熟悉其中部分数据库读取的形式#xff0c;但是熟悉全部的估计很少#xff0c;或者你完全忘记了#xff0c;因为这些…概括ADO.NET数据库连接的所有形式(基础 可能大家进来会喷笔者这么基础的知识还放在首页。那么笔者就要问问大家了你可能熟悉其中部分数据库读取的形式但是熟悉全部的估计很少或者你完全忘记了因为这些形式被封装到你自己框架的底层自己搞过一两次就在也没有动手写过了。但是笔者觉得这部分知识是应该牢固掌握的这个是基础。好如果是已经掌握的大侠看看笔者写的内容提出点建议或者补充笔者的内容。 好了废话不多说看 第一种 通过直接在cs文件中编写查询语句调用 dbcom.ExecuteNonQuery();执行插入数据 1 //连接字符串2 string ConnectionString ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ConnectionString;3 string ProviderName ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ProviderName;4 DbProviderFactory dbproviderfactory DbProviderFactories.GetFactory(ProviderName);5 DbConnection dbcon dbproviderfactory.CreateConnection();6 dbcon.ConnectionString ConnectionString;7 DbCommand dbcom dbproviderfactory.CreateCommand();8 dbcom.Connection dbcon;9 dbcom.CommandText Insert into dt_Table01(name,psw) values(name,psw);10 dbcom.CommandType CommandType.Text;11 12 //添加参数13 DbParameter dbparameter dbproviderfactory.CreateParameter();14 dbparameter.ParameterName name;15 dbparameter.DbType DbType.String;16 dbparameter.Value xiaolong;17 dbcom.Parameters.Add(dbparameter);18 dbparameter dbproviderfactory.CreateParameter();19 dbparameter.ParameterName psw;20 dbparameter.DbType DbType.String;21 dbparameter.Value 123;22 dbcom.Parameters.Add(dbparameter);23 dbcon.Open();24 try25 {26 dbcom.ExecuteNonQuery();27 }28 catch(Exception ex)29 {30 //将错误写入日志里31 AddLogError(ex.ToString());32 Response.Redirect(~/ErrorPage.aspx);33 }34 finally35 {36 dbcon.Close();37 } 第二种当然是调用存储过程 1 //存储过程的2 string ConnectionString ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ConnectionString;3 string ProviderName ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ProviderName;4 DbProviderFactory dbproviderfactory DbProviderFactories.GetFactory(ProviderName);5 DbConnection dbcon dbproviderfactory.CreateConnection();6 dbcon.ConnectionString ConnectionString;7 DbCommand dbcom dbproviderfactory.CreateCommand();8 dbcom.Connection dbcon;9 dbcom.CommandType CommandType.StoredProcedure;10 dbcom.CommandText InsertTable01;11 DbParameter dbparameter dbproviderfactory.CreateParameter();12 dbparameter.DbType DbType.String;13 dbparameter.ParameterName name;14 dbparameter.Value xiaohe;15 dbcom.Parameters.Add(dbparameter);16 dbparameter dbproviderfactory.CreateParameter();17 dbparameter.ParameterName psw;18 dbparameter.DbType DbType.String;19 dbparameter.Value 123;20 dbcom.Parameters.Add(dbparameter);21 dbcon.Open();22 try23 {24 dbcom.ExecuteNonQuery();25 }26 catch (Exception ex)27 {28 AddLogError(ex.ToString());29 Response.Redirect(~/ErrorPage.aspx);30 }31 finally32 {33 dbcon.Close();34 } 第三种就是可能同时插入两张表或者三张表或者更多。必须是同时运用到了事务回滚机制。存储过程写法就不给出来了和上面一样。只是在存储过程编写事务。 1 //同时插入两张的表2 string ConnectionString ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ConnectionString;3 string ProviderName ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ProviderName;4 DbProviderFactory dbproviderfactory DbProviderFactories.GetFactory(ProviderName);5 DbConnection dbcon dbproviderfactory.CreateConnection();6 dbcon.ConnectionString ConnectionString;7 DbCommand dbcom dbproviderfactory.CreateCommand();8 dbcom.Connection dbcon;9 dbcom.CommandType CommandType.Text;10 11 DbParameter dbparameter dbproviderfactory.CreateParameter();12 dbparameter.DbType DbType.String;13 dbparameter.ParameterName name;14 dbparameter.Value xiaohei;15 dbcom.Parameters.Add(dbparameter);16 dbparameter dbproviderfactory.CreateParameter();17 dbparameter.ParameterName psw;18 dbparameter.DbType DbType.String;19 dbparameter.Value 123;20 dbcom.Parameters.Add(dbparameter);21 dbparameter dbproviderfactory.CreateParameter();22 dbparameter.DbType DbType.String;23 dbparameter.ParameterName teacher;24 dbparameter.Value heihei;25 dbcom.Parameters.Add(dbparameter);26 27 dbcon.Open();28 //事务开始29 DbTransaction dbtran dbcon.BeginTransaction();30 dbcom.Transaction dbtran;31 32 try33 {34 dbcom.CommandText insert into dt_table01(name,psw) values(name,psw);35 dbcom.ExecuteNonQuery();36 dbcom.CommandText insert into dt_table03(teacher,psw) values(teacher,psw);37 dbcom.ExecuteNonQuery();38 //成功就提交39 dbtran.Commit();40 }41 catch (Exception ex)42 {43 //出错就回滚44 dbtran.Rollback();45 AddLogError(ex.ToString());46 Response.Redirect(~/ErrorPage.aspx);47 }48 finally49 {50 dbcon.Close();51 dbtran.Dispose();52 } 第四种 通过使用DbDataAdapter来获得查询的结果 1 //查询数据库2 string ConnectionString ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ConnectionString;3 string ProviderName ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ProviderName;4 DbProviderFactory dbproviderfactory DbProviderFactories.GetFactory(ProviderName);5 DbConnection dbcon dbproviderfactory.CreateConnection();6 dbcon.ConnectionString ConnectionString;7 DbCommand dbcom dbproviderfactory.CreateCommand();8 dbcom.Connection dbcon;9 dbcom.CommandText Select * from dt_Table01 where namename;10 dbcom.CommandType CommandType.Text;11 DbParameter dbparameter dbproviderfactory.CreateParameter();12 dbparameter.ParameterName name;13 dbparameter.DbType DbType.String;14 dbparameter.Value xiaolong;15 dbcom.Parameters.Add(dbparameter);16 DataSet ds new DataSet();17 DbDataAdapter dbDataAdapeter dbproviderfactory.CreateDataAdapter();18 dbDataAdapeter.SelectCommand dbcom;19 try20 {21 dbDataAdapeter.Fill(ds, data);22 }23 catch (Exception ex)24 {25 AddLogError(ex.ToString());26 Response.Redirect(~/ErrorPage.aspx);27 }28 finally29 {30 dbDataAdapeter.Dispose();31 } 第5种 使用DbDataReader或者查询结果这里给出查询第一行第一列值当然也可以直接调用Command.ExecuteScalar();函数 1 string ConnectionString ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ConnectionString;2 string ProviderName ConfigurationManager.ConnectionStrings[db_Test01ConnectionString].ProviderName;3 DbProviderFactory dbproviderfactory DbProviderFactories.GetFactory(ProviderName);4 DbConnection dbcon dbproviderfactory.CreateConnection();5 dbcon.ConnectionString ConnectionString;6 DbCommand dbcom dbproviderfactory.CreateCommand();7 dbcom.Connection dbcon;8 dbcom.CommandText Select * from dt_Table01 where namename;9 dbcom.CommandType CommandType.Text;10 DbParameter dbparameter dbproviderfactory.CreateParameter();11 dbparameter.ParameterName name;12 dbparameter.DbType DbType.String;13 dbparameter.Value xiaolong;14 dbcom.Parameters.Add(dbparameter);15 dbcon.Open();16 DbDataReader dbDataReadernull;17 string re string.Empty;18 try19 {20 dbDataReader dbcom.ExecuteReader(CommandBehavior.SingleRow);21 }22 catch (Exception ex)23 {24 AddLogError(ex.ToString());25 Response.Redirect(~/ErrorPage.aspx);26 }27 finally28 {29 dbcon.Close();30 dbDataReader.Close();31 }32 //读入值33 if (dbDataReader.Read())34 {35 //得到第一列值36 re dbDataReader.GetValue(0).ToString();37 }38 re re hah; 当然还可以自己编写一些常用的调用例如或者查询结果第一列的值等等。 大致上就是以上这几种形式了。 存储过程Command直接执行DataReader,DataAdapter,事务 由于笔者知识有限如果还有其他形式请您补充上来 转载于:https://www.cnblogs.com/blogbai/archive/2012/09/26/2703881.html