C#调用存储过程的通用方法如何写呀!!!

清风树下 2007-07-20 10:15:32
C#调用存储过程的通用方法如何写呀!!!
如这样:
/// <summary>
/// 数据库存储过程执行
/// </summary>
/// <param name="StrProc">存储过程名 参数1,参数2,...参数n</param>
/// <param name="Data_Config">SQL数据库连接配置信息</param>
/// <returns>返回null表示错误,返回null表示无返回值返操作成功,否则返回存储过程的返回值</returns>
public object ExecuteProc(string StrProc, SqllinkConfig Data_Config)
{
try
{
if (IsNull(StrProc))
{
if (Data_Config == null) return false;
SqlConnection conn = new SqlConnection(Data_Config.Connection);
conn.Open();
SqlCommand command = new SqlCommand();
command.Connection = conn;
command.CommandText = datavoid.ReplaceSql(StrSql, "SQL");
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
conn.Close();
return true;
}

}
catch { }
return false;
}
可是不对呀!!!
...全文
1586 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
yan53125 2007-08-22
  • 打赏
  • 举报
回复
那个结晶~~
yuanzhihua520 2007-08-22
  • 打赏
  • 举报
回复
up
稍微有点无敌 2007-07-22
  • 打赏
  • 举报
回复
看看我做的
http://www.cnblogs.com/jintan/archive/2007/04/28/731217.html
yangyibang 2007-07-22
  • 打赏
  • 举报
回复
经典
sunzhong2003 2007-07-21
  • 打赏
  • 举报
回复
petshop SQLHELPER看看吧
songsu 2007-07-21
  • 打赏
  • 举报
回复
你先创建一个存储过程

CREATE PROCEDURE AddData_Admin
@AdminName NVarChar(50),@AdminPassword NVarChar(50)
AS
SET NOCOUNT ON
INSERT INTO Admin
(AdminName,AdminPassword)
VALUES(@AdminName,@AdminPassword)
SELECT @@IDENTITY AS NID



SqlCommand cmd = new SqlCommand("AddData_Admin",app.G_Con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@AdminName",SqlDbType.NVarChar,50).Value = this.AdminName.Text;
cmd.Parameters.Add("@AdminPassword",SqlDbType.NVarChar,50).Value = this.AdminPassword.Text;

cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
cmd.Dispose();

this.Message.Text = "添加成功!";
songsu 2007-07-21
  • 打赏
  • 举报
回复
string sql = "INSERT INTO Admin (AdminName,AdminPassword) VALUES (@AdminName,@AdminPassword);";
SqlCommand cmd = new SqlCommand(sql,app.G_Con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@AdminName",SqlDbType.NVarChar,50).Value = this.AdminName.Text;
cmd.Parameters.Add("@AdminPassword",SqlDbType.NVarChar,50).Value = this.AdminPassword.Text;

cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
cmd.Dispose();

this.Message.Text = "添加成功!";
AndaChang 2007-07-21
  • 打赏
  • 举报
回复
command.CommandText = "存储过程名";
就行
Jinglecat 2007-07-21
  • 打赏
  • 举报
回复
完全不知道 LZ 这个能用用来什么

命名参数怎么办?
szh3210 2007-07-21
  • 打赏
  • 举报
回复
up
vicqqq 2007-07-21
  • 打赏
  • 举报
回复
经典
blankfang 2007-07-21
  • 打赏
  • 举报
回复
经典
hm7921936 2007-07-21
  • 打赏
  • 举报
回复
通用就是任何 参数 任何存储过程都可以用的吧..
xwk789xwk 2007-07-21
  • 打赏
  • 举报
回复
SqlCommand cmd = new SqlCommand(procName,con);//procName是存储过程名,con是连接语句
cmd.CommandType = CommandType.StoredProcedure;
buxiangwei 2007-07-21
  • 打赏
  • 举报
回复
command.CommandText = "存储过程名";
就行
xiaoliangwh 2007-07-21
  • 打赏
  • 举报
回复
up
cbgn 2007-07-20
  • 打赏
  • 举报
回复
你下个SQLHELPER,都有的
lovesnow1573 2007-07-20
  • 打赏
  • 举报
回复
=====================对你的代码分析一下


SqlCommand command = new SqlCommand();
command.Connection = conn;
command.CommandText = datavoid.ReplaceSql(StrSql, "SQL");
command.CommandType = CommandType.StoredProcedure;

======================================================
换成
SqlCommand command = new SqlCommand("存储过程的名字",conn);
command.CommandType = CommandType.StoredProcedure;
============
或者是

SqlCommand command = new SqlCommand();
command.Connection = conn;
command.CommandText = "存储过程的名字";
command.CommandType = CommandType.StoredProcedure;

shoushii 2007-07-20
  • 打赏
  • 举报
回复
CommandType.StoredProcedure;
shoushii 2007-07-20
  • 打赏
  • 举报
回复
DateSet getSet(string Procedure,params IDBParameter[] para)
{
连接数据库
CMD对象
DATASET对象
适配对象
传递参数
..
返回数据

}
加载更多回复(12)

110,536

社区成员

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

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

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