C#操作sql存储过程问题?

long3401 2003-10-09 08:29:53
各位:我想在c#中实现动态调用存储过程,也就是未知参数个数来调用运行存储过程(像pb动态sql)请问各位怎样实现?
...全文
50 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bizlogic 2003-10-09
  • 打赏
  • 举报
回复
建立一个QueryObject,然后给每个参与存储过程参数的属性定义一个attribute:[参数名,类型,长度]
在调用存储过程的时候,用Reflection来得到这个QueryObject的每个属性的对应SQL Parameter的名称,类型,值等等信息
最后用楼上的方法建立SqlCommand对象
BirdInParadise 2003-10-09
  • 打赏
  • 举报
回复
' 创建Connection和Command对象
string strCnn = "Data Source=.;Initial Catalog=zy;User Id=sa;Password=";
SqlConnection myConnection =new SqlConnection(strCnn);
SqlCommand myCommand=new SqlCommand("sp_person", myConnection);
' 使用存储过程
myCommand.CommandType = CommandType.StoredProcedure;
' 向存储过程添加参数
SqlParameter prmEmail= new SqlParameter("@PersonEmail", SqlDbType.VarChar, 255);
prmEmail.Value = txtPersonEmail.Text;
myCommand.Parameters.Add(prmEmail);

SqlParameter prmName=new SqlParameter("@PersonName", SqlDbType.VarChar, 255);
prmName.Value = txtPersonName.Text;
myCommand.Parameters.Add(prmName);
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
saucer 2003-10-09
  • 打赏
  • 举报
回复
look into SqlCommandBuilder or OleDbCommandBuilder 's DeriveParameters method, which populates the specified Command object's Parameters collection with parameter information for the stored procedure specified in the Command object

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧