VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 619|回复: 4

请问:在asp.net(C#)中如何动态建立存储过程?

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-14 17:00:02 | 显示全部楼层 |阅读模式
我知道可以动态修改存储过程,但不知道如何动态建立一个存储过程?
大家有做过吗?

先把修改存储过程的代码帖出如下:

        string cStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath(DBPath);
        string ProcName;
        ADODB.Connection cn = new ADODB.Connection();
        cn.Open(cStr, null, null, -1);

        //激活并修改
        ADOX.Catalog catalog = new ADOX.Catalog();
        catalog.ActiveConnection = cn;

        ADODB.Command cmd = new ADODB.Command();
        cmd.CommandText = "PARAMETERS UserID varchar;select * from guestbook where username=UserID;";

        ADOX.Procedure pro = catalog.Procedures[ProcName];
        pro.Command = cmd;
回复

使用道具 举报

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-6-11 21:15:01 | 显示全部楼层
ExecuteNonQuery()
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-6-12 13:45:01 | 显示全部楼层
应该不是你那样的  看看这个http://blog.csdn.net/net_lover/archive/2004/06/08/6963.aspx
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-6-13 17:15:01 | 显示全部楼层
其实用下面的代码已经可以创建了,但是估计是建立在内存里,在ACCESS的查询选项里看不见有
名为MyNewProName的查询实体,不知道如何把内存里的东东搬到ACCESS里去。
代码:
//增加
string NewProName="MyNewProName";
ADODB.Command cmd1 = new ADODB.Command();
cmd1.CommandText = "PARAMETERS ArticleID long;select * from article where id=ArticleID;";

catalog.Procedures.Append(NewProName, cmd1);
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-6-19 16:15:01 | 显示全部楼层
acidrain
   应该不是你那样的  看看这个http://blog.csdn.net/net_lover/archive/2004/06/08/6963.aspx
  
-----------------------
谢谢你的解答,不过还是不行,建表和建库倒是没问题,但是建立存储过程就不同了,
ADOX.Prucedure这个东东不能建立一个存储过程对象的,
如:ADOX.Prucedure pro=new ADOX.Prucedure();
这样会提示出错。

用这个命令:catalog.Procedures.Append(NewProName, cmd1);
执行了,也成功追加建立了一个存储过程,但是在ACCESS的查询选项里看不到。
郁闷。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表