请给出相关语法和一个例子.谢谢了.我是新手,呵,越详细越好.
解决方案 »
- 与C++函数交互时出现“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”
- 【求助】WMI的ASSOCIATORS OF 如何在C#下的使用.
- 如何在winfrom之间进行传值?C# 2005?
- 升级一个程序
- win程序打了一天的包,生成的exe文件快捷方式就是没法搞定
- c# subString 截取为题
- (高手指点)如何打印大尺寸的TIF文件(A1),使之自动变成A3大小。
- 还是角本问题,在线等待,解决马上给分。
- 急!在线等待!100分求助,等待各位高手解答!
- [求助]静态变量什么时候会发生变化
- 求助 C#中如何使程序存储上一次选择的打印机(分数:100+)
- Assembly.GetTypes() 与 typeof() 不相等。。高手请进。
SqlCommand cmd = new SqlCommand("procedure1",conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "test");
{
new SqlParameter("@a",SqlDbType.VarChar,20)
};
parameters[0].Value = "A";
DataSet ds = RunProcedure("proname", parameters, "tablename");
/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <param name="tableName">DataSet结果中的表名</param>
/// <returns>DataSet</returns>
public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet dataSet = new DataSet();
connection.Open();
SqlDataAdapter sqlDA = new SqlDataAdapter();
sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
sqlDA.Fill(dataSet, tableName);
connection.Close();
return dataSet;
}
}/// <summary>
/// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>SqlCommand</returns>
private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
if (parameter != null)
{
// 检查未分配值的输出参数,将其分配以DBNull.Value.
if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
(parameter.Value == null))
{
parameter.Value = DBNull.Value;
}
command.Parameters.Add(parameter);
}
} return command;
}
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "test");正解