·C# 自学视频教程 第21章疑问


azby2016


 发表于:2016-08-20 13:07:07
楼主  
作为明日资料的忠实粉丝,感觉C#自学视频教程当中第21章提到的SqlParameter MakeInParam()、SelectCommand.Parameters、SqlParameter parameter在配套资料上没有提及,所以在看下面类似代码时很迷茫,你能帮忙简述这几个东西的用法吗?也可以提供一些用于了解的资料,个人邮箱:e23456@foxmail.com,谢谢!

.......
public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
{
return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);//创建SQL参数
}
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param;//声明SQL参数对象
if (Size > 0)//判断参数字段是否大于0
param = new SqlParameter(ParamName, DbType, Size);//根据指定的类型和大小创建SQL参数
else
param = new SqlParameter(ParamName, DbType);//根据指定的类型创建SQL参数
param.Direction = Direction;//设置SQL参数的类型
if (!(Direction == ParameterDirection.Output && Value == null))//判断是否为输出参数
param.Value = Value;//设置参数返回值
return param;//返回SQL参数
}
#endregion

#region 执行参数命令文本(无数据库中数据返回)
/// <summary>
/// 执行命令
/// </summary>
/// <param name="procName">命令文本</param>
/// <param name="prams">参数对象</param>
/// <returns></returns>
public int RunProc(string procName, SqlParameter[] prams)
{
SqlCommand cmd = CreateCommand(procName, prams);//创建SqlCommand命令对象
cmd.ExecuteNonQuery();//执行SQL命令
this.Close();//关闭数据库连接
return (int)cmd.Parameters["ReturnValue"].Value;//得到执行成功返回值
}
/// <summary>
/// 直接执行SQL语句
/// </summary>
/// <param name="procName">命令文本</param>
/// <returns></returns>
public int RunProc(string procName)
{
this.Open();//打开数据库连接
SqlCommand cmd = new SqlCommand(procName, con);//创建SqlCommand命令对象
cmd.ExecuteNonQuery();//执行SQL命令
this.Close();//关闭数据库连接
return 1;//返回1,表示执行成功
}

#endregion

#region 执行参数命令文本(有返回值)
.......
private SqlDataAdapter CreateDataAdaper(string procName, SqlParameter[] prams)
{
this.Open();//打开数据库连接
SqlDataAdapter dap = new SqlDataAdapter(procName, con);//创建桥接器对象
dap.SelectCommand.CommandType = CommandType.Text;//指定要执行的类型为命令文本
if (prams != null)//判断SQL参数是否不为空
{
foreach (SqlParameter parameter in prams)//遍历传递的每个SQL参数
dap.SelectCommand.Parameters.Add(parameter);//将SQL参数添加到执行命令对象中
}
//加入返回参数
dap.SelectCommand.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,string.Empty, DataRowVersion.Default, null));
return dap;//返回桥接器对象
}
#endregion
........

 回复  引用  举报  修改   删除   

 
 讨论区
 ·MR回复  回复于:2016-08-20 15:38:36
1楼  


小科


读者朋友:
您好,MnParam()是自定义的方法名、SelectCommand用来设置选择命令的,.Parameters表示参数集合、SqlParameter是SQL参数,用来自定义参数,并设置参数的类型。

引用   修改   删除   

 
 ·回复  回复于:2016-08-20 22:14:14
2楼  


azby2016


引自:1楼
读者朋友:
您好,MnParam()是自定义的方法名、SelectCommand用来设置选择命令的,.Parameters表示参数集合、SqlParameter是SQL参数,用来自定义参数,并设置参数的类型。


回复:
谢谢你的解释,前两个没问题
SqlParameter是SQL参数---是指COMMAND所执行的SQL语句中的参数吗?
那.Parameters表示参数集合是指哪里的参数呢?

引用   修改   删除   

 
 ·MR回复  回复于:2016-08-23 08:46:38
3楼  


小科


引自:2楼
引自:1楼
读者朋友:
您好,MnParam()是自定义的方法名、SelectCommand用来设置选择命令的,.Parameters表示参数集合、SqlParameter是SQL参数,用来自定义参数,并设置参数的类型。


回复:
谢谢你的解释,前两个没问题
SqlParameter是SQL参数---是指COMMAND所执行的SQL语句中的参数吗?
那.Parameters表示参数集合是指哪里的参数呢?


回复:SqlParameter是指COMMAND所执行的SQL语句中的参数,添加参数通过Parameters集合的Add方法添加

引用   修改   删除   

 
 ·3  回复于:2016-08-25 13:37:09
4楼  


azby2016


明白了,,谢谢。。

引用   修改   删除   

 

Copyright©www.mingrisoft.com All Rights Reserved!
吉林省明日科技版权所有并提供技术支持