ASP.NET(VB)正在尝试从web.config设置数据库连接

ASP.NET(VB)正在尝试从web.config设置数据库连接,asp.net,vb.net,web,web-config,Asp.net,Vb.net,Web,Web Config,我有一个web表单项目,用于更新Microsoft SQL 2012数据库表中的列。当我为我的SqlConnection“硬编码”连接信息时,一切正常。但是,如果我尝试执行ConfigurationManager.ConnectionString路由,我会得到一个不受支持的关键字“id”。我已将Imports.System.Configuration代码包含到我的项目中。下面是我遇到这个问题的潜艇 Protected Sub BtnSubmit_Click(sender As Object,

我有一个web表单项目,用于更新Microsoft SQL 2012数据库表中的列。当我为我的SqlConnection“硬编码”连接信息时,一切正常。但是,如果我尝试执行ConfigurationManager.ConnectionString路由,我会得到一个不受支持的关键字“id”。我已将Imports.System.Configuration代码包含到我的项目中。下面是我遇到这个问题的潜艇

 Protected Sub BtnSubmit_Click(sender As Object, e As EventArgs) Handles BtnSubmit.Click
    Dim myConn As SqlConnection
    Dim cmd As SqlCommand
    Dim sqlstring, RqType, RqLast, RqFirst, RqOrg, RqEmail, RqNeedDate, SubFirst, SubLast, RqDetails, RqGenDate, RqOperator As String
    RqType = cbxRequestType.SelectedValue
    RqLast = txtReqLastName.Text
    RqFirst = txtReqFirstname.Text
    RqOrg = txtOrganization.Text
    RqEmail = txtEmail.Text
    RqNeedDate = txtReqDate.Text
    SubFirst = txtSubFirst.Text
    SubLast = txtSubLast.Text
    RqDetails = txtReqDetails.Text
    RqGenDate = txtGenDate.Text
    RqOperator = txtOperator.Text
    If Agree.Checked = False Then
        MsgBox("You must agree to the terms before proceeding")
    Else
        myConn = New SqlConnection(ConfigurationManager.ConnectionStrings("PRRWeb").ConnectionString)
        myConn.Open()
            sqlstring = "INSERT INTO Requests (LastName, FirstName, Organization, DateRequested, DateNeeded, OperatorID, SubjectLastName, SubjectFirstName, Notes, TypeID, Email) VALUES ('" + RqLast + "','" + RqFirst + "', '" + RqOrg + "','" + RqGenDate + "', '" + RqNeedDate + "','" + RqOperator + "','" + SubLast + "','" + SubFirst + "','" + RqDetails + "','" + RqType + "','" + RqEmail + "')"
            cmd = New SqlCommand(sqlstring, myConn)
            cmd.ExecuteNonQuery()
        myConn.Close()
        MsgBox("Your request has been submitted.", MsgBoxStyle.Information)
        Response.Redirect(Request.RawUrl)
    End If

通过向my web.config添加一个connectionstring解决了此问题,如下所示

<connectionStrings >
<add
  name="PRRWeb"
  connectionString="Server=server;Database=DB;Timeout=200;User ID=user; Password=Password; Trusted_Connection=False;"
  providerName="System.Data.SqlClient"/>

错误来自哪一行?也显示web.config条目,这可能是错误的原因。这段代码对世界上每一个想成为黑客的人来说都是一种乐趣。你听说过Sql注入吗?除了一些检查和正确的处理之外,我觉得这一切都很好。我更喜欢在一次性类(包括命令)上使用
Using
。错误发生在指定SQLConnection属性的行上。另外,如果有一种更有效/安全的方式来执行命令,我将如何着手执行?下面是web.config中的连接字符串。
myConn = New SqlConnection(ConfigurationManager.ConnectionStrings   ("PRRWeb").ConnectionString)