【问题标题】:.Net is not connecting to the DB.Net 未连接到数据库
【发布时间】:2013-03-19 16:16:29
【问题描述】:

下面列出的是“.aspx.vb”文件中的代码。但是,它不连接到 SQL 2008 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()

【问题讨论】:

  • “Constr”看起来像一个无效的连接字符串。
  • 如果连接失败,或者执行命令有问题,应该抛出异常。捕获该异常并查看 Message 属性。
  • 您是否遇到任何错误/异常情况?
  • 您收到任何错误吗?
  • @DJBurb:怎么样?它将使用名称“ConStr”从 app.config 加载连接字符串。

标签: .net database connection


【解决方案1】:

你的连接字符串必须是这样的:

ConfigurationManager.ConnectionStrings("ConStr").ConnectionString

示例: 您在 web.config 中的密钥:

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

您从 web.config 获取连接字符串的代码:

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

【讨论】:

  • 那不正确,ConnectionStringSettings 类的ToString 方法看起来像这样return this.ConnectionString;
【解决方案2】:

通常连接字符串看起来像这种模式Data Source= *database path*

【讨论】:

  • 连接字符串正在从配置中提取,因此在我们看到实际的连接字符串(或它的一种形式)之前,我们必须假设代码没有任何问题。
猜你喜欢
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
相关资源
最近更新 更多