通过代码创建存储过程-C#

开发人员

我在SQL Server数据库中创建存储过程时遇到问题。这就是我要做的:

public void selectMeetings(String PID)
{
    String connection = "Server=localhost;Database=master;Integrated security=true;";
    SqlConnection Connection = new SqlConnection();

    Connection = new SqlConnection(connection);
    Connection.Open();

    string script = "USE ["+PID+ "] GO CREATE PROCEDURE selectMeetings AS SELECT * FROM dbo.MEETING GO";

    SqlCommand command = new SqlCommand(script, Connection);

    try
    {
       command.ExecuteNonQuery();
    }
    catch (System.Exception ex)
    {
        throw ex;
    }
}

问题是这样的:

'GO'附近的语法不正确。
“ CREATE / ALTER PROCEDURE”必须是查询批处理中的第一条语句

我试图删除GO,但问题是:

“ CREATE / ALTER PROCEDURE”必须是查询批处理中的第一条语句。

如何解决呢?谢谢

Damien_The_Unbeliever

从您的客户端代码切换数据库,并且正如其他人所说的那样,GO因为它不是T-SQL命令,所以不要发送数据库:

public void selectMeetings(String PID)
{
    String connection = "Server=localhost;Database=master;Integrated security=true;";
    SqlConnection Connection = new SqlConnection();

    Connection = new SqlConnection(connection);
    Connection.Open();

    Connection.ChangeDatabase(PID);

    string script = "CREATE PROCEDURE selectMeetings AS SELECT * FROM dbo.MEETING";
    SqlCommand command = new SqlCommand(script, Connection);

    //You're not fishing. There's no point in catch and release
    command.ExecuteNonQuery();
}

最佳实践的进一步修复:

public void selectMeetings(String PID)
{
    String connection = "Server=localhost;Database=master;Integrated security=true;";
    using(SqlConnection Connection = new SqlConnection(connection))
    {
      Connection.Open();

      Connection.ChangeDatabase(PID);

      string script = "CREATE PROCEDURE selectMeetings AS SELECT * FROM dbo.MEETING";
      using(SqlCommand command = new SqlCommand(script, Connection))
      {
        command.ExecuteNonQuery();
      }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

存储过程未通过C#插入

来自分类Dev

从C#删除和创建存储过程

来自分类Dev

TSQL使用C#创建存储过程

来自分类Dev

存储过程不适用于c#代码

来自分类Dev

将C#代码转换为TSQL存储过程

来自分类Dev

如何使用C#更改存储过程的此选择代码

来自分类Dev

通过C#在MongoDB中调用存储过程

来自分类Dev

使用C#通过SQL Server存储过程问题

来自分类Dev

在ASP .NET中通过C#获取存储过程脚本

来自分类Dev

用C#代码创建多个存储的proc

来自分类Dev

从C#代码创建WPF椭圆并通过鼠标移动它

来自分类Dev

WPF C# 如何通过代码创建派生样式

来自分类Dev

如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

来自分类Dev

如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

来自分类Dev

如何处理从存储过程到C#代码的空值参数返回?

来自分类Dev

使用C#代码中的dapper将Output参数传递到存储过程

来自分类Dev

存储过程在DB中有效,但在C#代码中无效

来自分类Dev

用C#代码管理存储过程的最佳实践是什么?

来自分类Dev

提高调用T-SQL存储过程的while循环(C#代码)的性能

来自分类Dev

使用odbc或vfoledb在Visual Fox Pro数据库中从c#代码添加存储过程

来自分类Dev

提高调用T-SQL存储过程的while循环(C#代码)的性能

来自分类Dev

为什么C#代码没有从存储过程中返回值

来自分类Dev

如何维护从 C# 代码执行两个存储过程的事务处理

来自分类Dev

从 C# 代码调用时,存储过程不返回任何数据

来自分类Dev

通过代码定位。C#

来自分类Dev

无法通过C#中的存储过程在可为空的列中插入空值

来自分类Dev

通过C#中的SqlMapper.Query调用存储过程时发送参数

来自分类Dev

在C#中执行更新存储过程

来自分类Dev

C#运行临时存储过程

Related 相关文章

  1. 1

    存储过程未通过C#插入

  2. 2

    从C#删除和创建存储过程

  3. 3

    TSQL使用C#创建存储过程

  4. 4

    存储过程不适用于c#代码

  5. 5

    将C#代码转换为TSQL存储过程

  6. 6

    如何使用C#更改存储过程的此选择代码

  7. 7

    通过C#在MongoDB中调用存储过程

  8. 8

    使用C#通过SQL Server存储过程问题

  9. 9

    在ASP .NET中通过C#获取存储过程脚本

  10. 10

    用C#代码创建多个存储的proc

  11. 11

    从C#代码创建WPF椭圆并通过鼠标移动它

  12. 12

    WPF C# 如何通过代码创建派生样式

  13. 13

    如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

  14. 14

    如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

  15. 15

    如何处理从存储过程到C#代码的空值参数返回?

  16. 16

    使用C#代码中的dapper将Output参数传递到存储过程

  17. 17

    存储过程在DB中有效,但在C#代码中无效

  18. 18

    用C#代码管理存储过程的最佳实践是什么?

  19. 19

    提高调用T-SQL存储过程的while循环(C#代码)的性能

  20. 20

    使用odbc或vfoledb在Visual Fox Pro数据库中从c#代码添加存储过程

  21. 21

    提高调用T-SQL存储过程的while循环(C#代码)的性能

  22. 22

    为什么C#代码没有从存储过程中返回值

  23. 23

    如何维护从 C# 代码执行两个存储过程的事务处理

  24. 24

    从 C# 代码调用时,存储过程不返回任何数据

  25. 25

    通过代码定位。C#

  26. 26

    无法通过C#中的存储过程在可为空的列中插入空值

  27. 27

    通过C#中的SqlMapper.Query调用存储过程时发送参数

  28. 28

    在C#中执行更新存储过程

  29. 29

    C#运行临时存储过程

热门标签

归档