请问各位
怎么通过程序 执行 创建视图或存储过程的sql语句?
我现在是把sql语句放在文本中,读文本的内容,然后通过comm.ExecuteNonQuery()执行,可老报错 。(如果文本中是insert/update语句就可以执行通过)程序如下:
string path = textBox2.Text.Trim();
textBox1.Text = File.OpenText(@path).ReadToEnd();string constr =""; 
SqlConnection conn = new SqlConnection(constr);
SqlCommand comm = new  SqlCommand(textBox1.Text,conn);
conn.Open();
comm.ExecuteNonQuery();//这里报错!
comm.Dispose();
conn.Close();未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。其他信息: 系统错误。

解决方案 »

  1.   

    string source = "server=(local);integrated security=SSPI;database=Northwind";
                SqlConnection conn = new SqlConnection(source);
                conn.Open();            
                SqlCommand comm = new SqlCommand("create view test as  select * from dbo.Categories", conn);
           
                comm.ExecuteNonQuery();
                comm.Dispose();
                conn.Close();
    俺写的就可以啊,楼主再检查一下代码,怪哉!!!!!!!!!
      

  2.   

    textBox1.Text 读出来的值是什么?
      

  3.   

    我的文本中不只创建一个视图,有很多视图和存储过程,还有insert,update语句.我必须通过程序去更新数据库。
    文本中的内容是这样的:
    USE [tablename]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE VIEW [dbo].[viewname1]
    go
    USE [tablename]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE VIEW [dbo].[viewname2]
      

  4.   

    textBox1.Text 读出来的就是文本中的一堆sql语句
      

  5.   

    你把这堆sql语句放到查询分析器里面执行有错误吗?
      

  6.   

    没有问题,文本中的sql在查询分析器可以执行
      

  7.   

    ExecuteNonQuery()这个方法好像只能执行一个命令,多条语句就会报错,你可以把文本中的字符串进行拆分,分别去执行ExecuteNonQuery()