2011-11-21 95 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 

末級