2016-05-20 187 views
0

如何在下面的語句如何使用聲明的ExecuteScalar聲明

this.OpenConnection(); 
SqlParameter[] SqlParameters = {new SqlParameter("@a",A)}; 
return Convert.ToLong( SqlHelper.ExecuteScalar((SqlConnection)DatabaseConnection, "StoredprocName",SqlParameters).ToString()); 
+0

爲什麼'SqlHelper'管理打開連接? – Crowcoder

回答

0

下面是一個例子從MSDN添加using語句添加,希望這將有助於:

static public int AddProductCategory(string newName, string connString) 
{ 
    Int32 newProdID = 0; 
    string sql = 
     "INSERT INTO Production.ProductCategory (Name) VALUES (@Name); " 
     + "SELECT CAST(scope_identity() AS int)"; 
    using (SqlConnection conn = new SqlConnection(connString)) 
    { 
     SqlCommand cmd = new SqlCommand(sql, conn); 
     cmd.Parameters.Add("@Name", SqlDbType.VarChar); 
     cmd.Parameters["@name"].Value = newName; 
     try 
     { 
      conn.Open(); 
      newProdID = (Int32)cmd.ExecuteScalar(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
     } 
    } 
    return (int)newProdID; 
} 

更多的SqlCommand。 ExecuteScalar方法():https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.110).aspx

+0

我無法在這裏初始化數據庫連接,它已在其他一些庫中初始化。 –

+0

我剛剛發現,您可能無法像在代碼中顯示的那樣使用sqlHelper。以下是有關sqlHelper的MSDN信息: _This API支持產品基礎結構,不能直接在您的代碼中使用._ https://msdn.microsoft.com/zh-cn/library/system.data。 linq.sqlclient.sqlhelpers(v = vs.110)的.aspx – YouneS