public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText)
{
return ExecuteDataset(connectionString, commandType, commandText, (SqlParameter[])null);
}
public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{
using (SqlConnection cn = new SqlConnection(connectionString))
{
cn.Open(); return ExecuteDataset(cn, commandType, commandText, commandParameters);
}
}变色的三个地方不懂。。求解答越白痴越好 这样写什么作用?
{
return ExecuteDataset(connectionString, commandType, commandText, (SqlParameter[])null);
}
public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{
using (SqlConnection cn = new SqlConnection(connectionString))
{
cn.Open(); return ExecuteDataset(cn, commandType, commandText, commandParameters);
}
}变色的三个地方不懂。。求解答越白痴越好 这样写什么作用?
解决方案 »
- 急!急!急!C#怎么来获取SD卡的序列号?是永远不变的SN序列号
- C# winfrom 后台获值前台显示
- winform程序datagridview绑定数据后为何无法显示?
- 如何用C#写一个简单的Login窗口
- 做一个TCP的类
- 今天整理了论坛很多关于dotnet(C#)的试题,大家共享一下。
- 我想在服务器端得到无刷新的提示信息??谢谢
- 请教下,这是什么情况呢?MWArray 已经引用了
- 显示图片的问题
- datetimepicker.value取出的年份是2位的啊
- .Net C# Windows Form, RectangleShape 异常问题.
- 不同Assembly里,有相同的namespace相同的ClassName怎么办
2,params SqlParameter[] commandParameters 参数数组
3,using (SqlConnection cn = new SqlConnection(connectionString))
{}
打开一个连接,在using区域结束时,自动关闭改连接
创建链接数据库对象,之所以使用using是为了使用链接可以不用手动关闭,隐式调用了Disponse方法
(SqlParameter[])null 参数作为数组params SqlParameter[] commandParameters 主要注意params 关键字!
这个懂了!
(SqlParameter[])null 参数作为数组 为什么要这样写呢?把参数作为数组,就是我传值的时候就可以作为数组,,,也可以是空的。对把?params SqlParameter[] commandParameters 主要注意params 关键字! why??
params SqlParameter[] commandParameters 参数化查询,连接存储过程
SqlConnection cn = new SqlConnection(connectionString) 数据库连接,connectionString是连接数据库的字符串变量
2.params SqlParameter[] commandParameters 参数数组,可以传一个null,或一个数组,或直接不传任何值。
3.using (SqlConnection cn = new SqlConnection(connectionString))区域使用可以提高性能,并自动关闭连接。
params修饰的参数,可以是空的数组,也可以是null,你举的例子中(SqlParameter[])null表示这个查询没有参数,你举的这个例子我觉得有点画蛇添足了,实际上第一个重载函数根本不需要: public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)这个函数实际就包含了第一种函数的情况,没有任何参数,因为params参数容许0个参数,也就是什么都没有,下面两个调用都是有效的:
ExecuteDataset(“”, CommandType.Text, "")---没有任何参数
ExecuteDataset("", CommandType.Text, "", SqlParameter1, SqlParameter2)
其中字符串用“”代替了,SqlParameter1和SqlParameter2是初始化好的SqlParameter对象,当然后面还可以加SqlParameter3... ...根据你的需要。
如:
ExecuteDataset(connectionString,commandType,commandText,如果传值就要前面的逗号,这里可以是一个数组,或N个参数用逗号隔开,即是可变的参数)
string.format("haha,hello world")
string.format("haha,{0} world", "hello")
string.format("haha,{0} {1}","hello","world")返回结果是一样的,他们调用的都是同一个函数public static string Format(string format, params object[] args);