微软的SQLHelper类含完整中文注释Word格式.docx

上传人:b****5 文档编号:15803437 上传时间:2022-11-16 格式:DOCX 页数:86 大小:29.23KB
下载 相关 举报
微软的SQLHelper类含完整中文注释Word格式.docx_第1页
第1页 / 共86页
微软的SQLHelper类含完整中文注释Word格式.docx_第2页
第2页 / 共86页
微软的SQLHelper类含完整中文注释Word格式.docx_第3页
第3页 / 共86页
微软的SQLHelper类含完整中文注释Word格式.docx_第4页
第4页 / 共86页
微软的SQLHelper类含完整中文注释Word格式.docx_第5页
第5页 / 共86页
点击查看更多>>
下载资源
资源描述

微软的SQLHelper类含完整中文注释Word格式.docx

《微软的SQLHelper类含完整中文注释Word格式.docx》由会员分享,可在线阅读,更多相关《微软的SQLHelper类含完整中文注释Word格式.docx(86页珍藏版)》请在冰豆网上搜索。

微软的SQLHelper类含完整中文注释Word格式.docx

summary>

///SqlServer数据访问帮助类

/summary>

publicsealedclassSqlHelper

{

#region私有构造函数和方法

privateSqlHelper(){}

///将SqlParameter参数数组(参数值)分配给SqlCommand命令.

///这个方法将给任何一个参数分配DBNull.Value;

///该操作将阻止默认值的使用.

param>

命令名<

/param>

SqlParameters数组<

privatestaticvoidAttachParameters(SqlCommandcommand,SqlParameter[]commandParameters)

if(command==null)thrownewArgumentNullException("

command"

);

if(commandParameters!

=null)

foreach(SqlParameterpincommandParameters)

if(p!

//检查未分配值的输出参数,将其分配以DBNull.Value.

 

if((p.Direction==ParameterDirection.InputOutput||p.Direction==ParameterDirection.Input)&

&

(p.Value==null))

p.Value=DBNull.Value;

}

command.Parameters.Add(p);

///将DataRow类型的列值分配到SqlParameter参数数组.

要分配值的SqlParameter参数数组<

将要分配给存储过程参数的DataRow<

privatestaticvoidAssignParameterValues(SqlParameter[]commandParameters,DataRowdataRow)

if((commandParameters==null)||(dataRow==null))

return;

inti=0;

//设置参数值

foreach(SqlParametercommandParameterincommandParameters)

//创建参数名称,如果不存在,只抛出一个异常.

if(commandParameter.ParameterName==null||

commandParameter.ParameterName.Length<

=1)

thrownewException(

string.Format("

请提供参数{0}一个有效的名称{1}."

i,commandParameter.ParameterName));

//从dataRow的表中获取为参数数组中数组名称的列的索引.

//如果存在和参数名称相同的列,则将列值赋给当前名称的参数.

if(dataRow.Table.Columns.IndexOf(commandParameter.ParameterName.Substring

(1))!

=-1)

commandParameter.Value=dataRow[commandParameter.ParameterName.Substring

(1)];

i++;

///将一个对象数组分配给SqlParameter参数数组.

///<

将要分配给存储过程参数的对象数组<

privatestaticvoidAssignParameterValues(SqlParameter[]commandParameters,object[]parameterValues)

if((commandParameters==null)||(parameterValues==null))

//确保对象数组个数与参数个数匹配,如果不匹配,抛出一个异常.

if(commandParameters.Length!

=parameterValues.Length)

thrownewArgumentException("

参数值个数与参数不匹配."

);

//给参数赋值

for(inti=0,j=commandParameters.Length;

i<

j;

i++)

//IfthecurrentarrayvaluederivesfromIDbDataParameter,thenassignitsValueproperty

if(parameterValues[i]isIDbDataParameter)

IDbDataParameterparamInstance=(IDbDataParameter)parameterValues[i];

if(paramInstance.Value==null)

commandParameters[i].Value=DBNull.Value;

else

commandParameters[i].Value=paramInstance.Value;

elseif(parameterValues[i]==null)

commandParameters[i].Value=parameterValues[i];

///预处理用户提供的命令,数据库连接/事务/命令类型/参数

要处理的SqlCommand<

数据库连接<

一个有效的事务或者是null值<

命令类型(存储过程,命令文本,其它.)<

存储过程名或都T-SQL命令文本<

和命令相关联的SqlParameter参数数组,如果没有参数为'

null'

<

c>

true<

/c>

如果连接是打开的,则为true,其它情况下为false.<

privatestaticvoidPrepareCommand(SqlCommandcommand,SqlConnectionconnection,SqlTransactiontransaction,CommandTypecommandType,stringcommandText,SqlParameter[]commandParameters,outboolmustClo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1