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