2017-06-02 34 views
0

我想加載在SQL文件中找到的main.usp_setup過程。這是一個打開XML文件的過程,我將該文件名作爲參數傳遞給方法。由於某些原因,它不能正確加載。有什麼建議麼?提前致謝。從SQL運行在c#中的存儲過程

public static bool loadXml(string filename) 
    { 
     bool load = false; 
     SqlConnection conn = new SqlConnection(constConn); 
     SqlCommand command = new SqlCommand("main.usp_setup", conn); 

     try 
     { 
      conn.Open(); 

      command.CommandType = CommandType.StoredProcedure; 
      command.Parameters.Add("@file", SqlDbType.NVarChar, 1000).Value = filename; 
      int rows = command.ExecuteNonQuery(); 
      conn.Close(); 
      load = true; 

     } 

     catch (Exception e) 
     { 
      Console.WriteLine("An Exception Occured: " + e.ToString()); 
     } 
     return load; 
    } 
+0

什麼確切的問題? –

+0

@RomanoZumbé在c#程序沒有從sql中找到我的過程,因此出現大量錯誤 –

+0

連接字符串的InitialCatalog是否設置爲正確的數據庫? –

回答

0

試試這個:

using (var conn = new SqlConnection(connectionString)) 
using (var command = new SqlCommand("main.usp_setup", conn) { 
         CommandType = CommandType.StoredProcedure }) { 
    conn.Open(); 
    command.CommandType = CommandType.StoredProcedure; 
     command.Parameters.Add("@file", SqlDbType.NVarChar, 1000).Value = filename; 
     int rows = command.ExecuteNonQuery(); 
     conn.Close(); 
     load = true; 
} 

取而代之的是:

SqlConnection conn = new SqlConnection(constConn); 
SqlCommand command = new SqlCommand("main.usp_setup", conn); 
    try{ 
     conn.Open(); 
+0

實際區別是什麼? –