2013-03-19 2 views
1

Ниже приведен код в файле «.aspx.vb». Однако он не подключается к базе данных SQL 2008. Есть ли ошибка в коде? Существует ли альтернатива выполнению хранимой процедуры ниже? Спасибо за ваш ожидаемый ответ..Net не подключается к БД

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» выглядит как недействительная строка соединения. –

+1

Если соединение завершилось с ошибкой или возникла проблема с выполнением команды, необходимо исключить Исключение. Поймайте это исключение и посмотрите на свойство Message. –

+2

Есть ли у вас ошибки/исключения? – Icarus

ответ

-1

обычно Строка подключения выглядит этот шаблон Data Source= *database path*

+0

Строка подключения вытягивается из конфигурации, поэтому, пока мы не увидим фактическую строку соединения (или ее форму), мы должны предположить, что код не имеет ничего плохого. –

1

строка подключения должна быть так:

ConfigurationManager.ConnectionStrings("ConStr").ConnectionString 

Например: ключ в web.config:

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

ваш код для извлечения строки подключения из web.con fig:

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

Это неверно, метод 'ToString' класса' ConnectionStringSettings' выглядит так: 'return this.ConnectionString;'. –

Смежные вопросы