2011-11-21 97 views
1

我有这样的代码:将数据插入SQL数据库使用ASP.NET/VB.NET

Dim myConn As SqlConnection 
    Dim cmd As SqlCommand 
    Dim sqlstring, DNAME, DEXP, DCREATION, DLASTUPDATE, DCOMMENTS As String 

    DNAME = TextBox1.Text 
    DEXP = TextBox2.Text 
    DCREATION = TextBox3.Text 
    DLASTUPDATE = TextBox4.Text 
    DCOMMENTS = TextBox5.Text 


    myConn = New SqlConnection("Integrated Security=SSPI;Data Source=.;Initial Catalog=DOMAIN_NAME;User ID=sa;Password=***********") 

    myConn.Open() 

    sqlstring = " INSERT INTO ROLAND (D_NAME, D_EXPIRATION, D_CREATION, D_LASTUPDATE,D_COMMENTS) VALUES ('" + DNAME + "','" + DEXP + "','" + DCREATION + "','" + DLASTUPDATE + "','" + DCOMMENTS + "')" 

    cmd = New SqlCommand(sqlstring, myConn) 

    cmd.ExecuteNonQuery() 

    myConn.Close() 

    Response.Redirect(Request.RawUrl, True) 

当我执行,它给了我这个错误:

Cannot open database "DOMAIN_NAME" requested by the login. The login failed. 
Login failed for user 'comm-pc10\pcuser10.comm'. 

,并突出的myconn .Open()

这里有什么问题,有什么帮助吗?我有SQLServer 2008和一个用户名和通行证我的数据库

+1

无需喊。 –

+3

我建议你弄清楚如何在VB中做参数化查询。像你一样连接插入语句会让你为SQL注入开放。 http://littlebobbytables.com/ –

+0

更糟的是,他使用SA帐户 – okrumnow

回答

2

您已经集成了安全ON,这意味着SQL服务器使用Windows验证,因此忽略您的用户和密码设置。我猜你的Windows用户无法访问数据库。

设置“Integrated security = false”以使用用户名/密码。

+0

非常感谢 – user1000744

0

的问题是连接字符串:

Initial Catalog = Database Name Not Domain Name 

,并确保你的用户ID和密码是正确的,数据源是正确的服务器地址。

看到更多到: Connection Strings

1

您使用的是集成安全性= SSPI即窗口使用认证链接。 您应该将该用户添加到数据库中以删除该用户。

+0

非常感谢,已解决 – user1000744

0

'这个代码帮助用vb.net 2010 从数据库中访问多个记录' 苏尼尔先生

进口系统

进口System.Data

进口System.Data.SqlClient的

Imports System.Data.DataSet

Imports System.Data.SqlTypes

公共类insert_extracode 昏暗我作为Int16的 私人小组insert_extracode_Load(BYVAL发件人为System.Object的,BYVALË作为System.EventArgs)把手MyBase.Load

i = 0 

End Sub 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Dim con As New SqlConnection 

    Dim cmd As New SqlCommand 

    Dim adp As New SqlDataAdapter 

    Dim data As New DataSet 

    con.ConnectionString = "Data Source=DELL-PC\SQLEXPRESS;Initial Catalog=hotel;Integrated Security=True" 

    cmd.Connection = con 

    Dim str As String = "select * from customer" 

    cmd = New SqlCommand(str, con) 

    adp = New SqlDataAdapter(cmd) 

    adp.Fill(data) 

    TextBox1.Text = data.Tables(0).Rows(i).Item(0) 
    TextBox2.Text = data.Tables(0).Rows(i).Item(1) 
    TextBox3.Text = data.Tables(0).Rows(i).Item(2) 
    i = i + 1 
End Sub 

末级