存储过程在C#中的使用(1)
前面有篇文章已经介绍了如何在sqlserver2000中创建存储过程,
那么在这里我们就来具体
看看在C#中如何使用.
先看看创建输入参数的存储过程如何在C#中使用.
创建一个简单的插入存储过程,代码如下:
create procedure TestProcedure
@id int,
@uname varchar(20),@upass varchar(20)
as
insert into [user] values(@id,@uname,@upass)
GO
然后在C#中使用,来看看,界面上有三个文本框以供用户输入数据
,textBox1,textBox2,textBox3
using (SqlConnection conn = new SqlConnection(connstring))
/
/指定类型为存储过程
SqlParameter sp = new SqlParameter();

sp.ParameterName = "@id";
sp.SqlDbType = SqlDbType.Int;
sp.Value = int.Parse(this.textBox1.Text);
command.Parameters.Add(sp);

sp = new SqlParameter();
sp.ParameterName = "@uname";
sp.SqlDbType = SqlDbType.VarChar;
sp.Value = this.textBox2.Text;
command.Parameters.Add(sp);

sp = new SqlParameter();
sp.ParameterName = "@upass";
sp.SqlDbType = SqlDbType.VarChar;
sp.Value = this.textBox3.Text;
command.Parameters.Add(sp);
command.ExecuteNonQuery();

conn.Close();
}


http://www.cnblogs.com/qinfei/archive/2005/11/03/268240.html
存储过程在C#中的使用(2)
//构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值),
参数为数据库连接、存储过程名、存储过程参数。
public static SqlCommand BuildQueryCommand(SqlConnection connection,
string storedProcName, IDataParameter[] parameters)
storedProcName,
IDataParameter[]
parameters, string tableName)
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;

}



//IDataParameter[]使用
从表面上看,IDataParameter[]的实例就是一个IDataParameter的数组。
而IDataParameter实际上是不能直接实例化的,所以这种数组其实很不常见,
仅仅会出现在函数的入口参数里面。且多以params的形式出现。这样做的好处
是令这个函数可以对付所有的数据库。
IDataParameter[]简单的说来,就是可以包含任何数据库参数的数组,
这些参数可以是SqlParameter或者OleDbParameter,但是,IDataParameter[]
不可以直接从SqlParameter[]转换过来。


下面是三种创建IDataParameter[]的方法:
一、直接构造:
(IDataParameter[]) paramlist.ToArray
( typeof( IDataParameter ) );
三、通过其他Parameter类型的数组创建。
相关文章: