2013-03-19 98 views
1

以下列出的是「.aspx.vb」文件中的代碼。但是,它不連接到SQL 2008數據庫。代碼中有錯誤嗎?是否有執行下面列出的存儲過程的替代方法?感謝您的預期回答。.Net未連接到DB

Dim con As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("ConStr").ToString()) 
Dim cmd As New SqlCommand 

con.Open() 
Dim units As TextBox = DirectCast(e.Item.FindControl("txtUnits"), TextBox) 
Dim weight As TextBox = DirectCast(e.Item.FindControl("txtWeight"), TextBox) 
Dim length As TextBox = DirectCast(e.Item.FindControl("txtLength"), TextBox) 
Dim height As TextBox = DirectCast(e.Item.FindControl("txtHeight"), TextBox) 
Dim width As TextBox = DirectCast(e.Item.FindControl("txtWidth"), TextBox) 
Dim fclass As RadComboBox = DirectCast(e.Item.FindControl("ddlFreightClass"), RadComboBox) 

cmd = New SqlCommand("spShipmentsLineValueInsert", con) 
cmd.CommandType = CommandType.StoredProcedure 

cmd.Parameters.Add(New SqlParameter("@LoadNumber", Convert.ToInt64(Session("loadNumber")))) 
cmd.Parameters.Add(New SqlParameter("@Units", Convert.ToInt16(units.Text))) 
cmd.Parameters.Add(New SqlParameter("@Weight", Convert.ToDecimal(weight.Text))) 
cmd.Parameters.Add(New SqlParameter("@Length", Convert.ToDecimal(length.Text))) 
cmd.Parameters.Add(New SqlParameter("@Width", Convert.ToDecimal(width.Text))) 
cmd.Parameters.Add(New SqlParameter("@Height", Convert.ToDecimal(height.Text))) 
cmd.Parameters.Add(New SqlParameter("@FreightClass", fclass.SelectedItem.Text)) 
cmd.Parameters.Add(New SqlParameter("@DefaultMeasure", defaultMeasure)) 
cmd.Parameters.Add(New SqlParameter("@SessionID", userCode)) 

Dim RetVal As String = cmd.ExecuteNonQuery() 

con.Close() 
+0

「Constr」看起來像一個無效的連接字符串。 – 2013-03-19 16:18:22

+1

如果連接失敗,或者執行該命令時出現問題,應拋出異常。捕獲該異常並查看Message屬性。 – 2013-03-19 16:18:30

+2

你有錯誤/例外嗎? – Icarus 2013-03-19 16:19:02

回答

-1

通常的連接字符串看起來是這樣的模式Data Source= *database path*

+0

連接字符串正在從配置中拉出,因此,直到我們可以看到實際的連接字符串(或其形式),我們必須假定代碼沒有任何問題。 – 2013-03-19 16:21:39

1

您的連接字符串必須是這樣的:

ConfigurationManager.ConnectionStrings("ConStr").ConnectionString 

例如: 在web.config中的關鍵:

<connectionStrings> 
    <clear /> 
    <add name="ConStr" 
     connectionString= 
      "server=MYSERVER; Database=MYDB; Integrated Security=SSPI;" /> 
</connectionStrings> 

您的代碼從web.con獲取連接字符串圖:

Dim con As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("ConStr").ConnectionString) 
+0

這是不正確的,'ConnectionStringSettings'類的'ToString'方法看起來像這樣'return this.ConnectionString;'。 – 2013-03-19 16:25:30