您的位置:首页 > 数据库

SqlHelper的详细应用方法,该怎么处理

2014-03-20 23:01 441 查看

SqlHelper的详细应用方法,该怎么处理

www.MyException.Cn   发布于:2012-03-09 21:42:52   浏览:47次


0

SqlHelper的详细应用方法

最近网上新流行的SqlHelper和传统的有很大不同,我在http://www.dbhelepr.org/sqlhelper/下载的,官方说比传统更简单和高性能,请高手指点!

------解决方案--------------------

呵呵,这个并不和一前一样是一个类了,是一个体系的组件了,是个完全开源。非常不错,国内还用的比较少,我也比较喜欢。使用方法:

第一步,如果是sqlserver或oracle在配置文件设置数据库链接字符串,如:

<connectionStrings>

<add connectionString="server=.;uid=sa;pwd=sa123;database=yourdatabase" name="SqlServerHelper"/>

<add connectionString="Data Source=orcl;User Id=system;Password=***;Integrated Security=no" name="OracleHelper"/>

</connectionStrings>

以上配置中,关键在于设定add节点中的name项,sqlserverhelper和oracleHelper。

第二步直接使用就行了,SqlServerHelper默认加载web.config中的configurationSettings中的name为SqlServerHelper的项为数据库链接字符串,而OracleHelper默认加载configurationSettings节点中name为OracleHelper的链接字符串,这一点很方便。

就需要执行一个sql语句时(静态方式):

SqlServerHelper.ExecuteNonQuery("insert into [students] values(@student_name,@class)",

SqlServerHelper.CreateInputParameter("@student_name", SqlDbType.NVarChar, 100, txt_student_name_sqlserver.Text),

SqlServerHelper.CreateInputParameter("@class", SqlDbType.NVarChar, 100, txt_class_sqlserver.Text)

);

评价:比传统的sqlhelper更方便,因为不用每次都传入sqlconnectionstring参数。

多sql语句和事务型(静态方式):

using (SqlConnection conn = SqlServerHelper.GetConnection())

{

conn.Open();

SqlTransaction tran = conn.BeginTransaction();

try

{

SqlServerHelper.ExecuteNonQuery(conn, CommandType.Text, "insert into [students] values(@student_name,@class)",

SqlServerHelper.CreateInputParameter("@student_name", SqlDbType.NVarChar, 100, txt_student_name_sqlserver.Text),

SqlServerHelper.CreateInputParameter("@class", SqlDbType.NVarChar, 100, txt_class_sqlserver.Text)

);

g1.DataSource = SqlServerHelper.ReadTable(conn, CommandType.Text, "select * from [students]", null);

g1.DataBind();

tran.Commit();

}

catch { tran.Rollback(); throw; }

}

面向对象式编程方式:

using (SqlServerHelper helper = new SqlServerHelper())

{

DbTransaction tran = helper.Connection.BeginTransaction();

helper.Command.Transaction = tran;

try

{

helper.Command.CommandText = "insert into [Students]([student_name],[class])values(@student_name,@class)";

helper.AddParameter("@student_name", SqlDbType.VarChar, 255, studentname);

helper.AddParameter("@class", SqlDbType.VarChar, 255, stu_class);

helper.Open();

helper.ExecuteNoneQuery();

tran.Commit();

}

catch

{

tran.Rollback(); throw;

}

helper.Command.Transaction = null;

helper.Command.Parameters.Clear();

helper.Command.CommandText = "select * from [Students]";

return helper.ReadTable();

}

评价:自动即使打开关闭数据库链接,节省性能,语法简短清晰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐