2017-04-04 39 views
0

當我嘗試在我的項目中執行更新配置文件頁面時,查詢不能很好地工作。 下面的代碼: 保護小組btnSubmimt_Click(發送者爲對象,例如作爲EventArgs的)把手btnSubmimt.Click 昏暗dt的作爲數據表=新數據表() DT =會話( 「信息」)在asp.net中更新查詢

Dim connStr As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString 

    Dim conn As SqlConnection = New SqlConnection(connStr) 
    conn.Open() 
    Dim cmd As SqlCommand = New SqlCommand() 
    Dim da As SqlDataAdapter = New SqlDataAdapter() 

    cmd.CommandType = CommandType.Text 
    cmd = New SqlCommand("Update [users] Set Email = @Email , Role = @Role , Country= @Country where UserName = @UserName") 

    cmd.Parameters.Add(New SqlParameter("@Email", txtEmail.Text.ToString)) 
    cmd.Parameters.Add(New SqlParameter("@Role", txtRole.Text.ToString)) 
    cmd.Parameters.Add(New SqlParameter("@Country", DDLCountry.SelectedValue.ToString)) 
    cmd.Parameters.Add(New SqlParameter("@UserName", Session("UserName"))) 
    cmd.Connection = conn 


    cmd.ExecuteNonQuery() 

    conn.Close() 



    ModalPopupExtender1.Show() 

End Sub 
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 
    If Not IsPostBack Then 
     Dim dt As DataTable = New DataTable() 
     dt = Session("Info") 
     txtusername.Text = dt.Rows(0)("UserName").ToString 
     txtEmail.Text = dt.Rows(0)("Email").ToString 
     txtRole.Text = dt.Rows(0)("Role").ToString 
     DDLCountry.SelectedItem.Text = dt.Rows(0)("Country").ToString 
    End If 
End Sub 
+2

它是什麼,不順利?是否有特定的錯誤? –

+0

在實際發佈您的代碼時,您已經做得比大多數人做得更多,但我們需要知道錯誤消息是什麼。它不會彈出一個例外說「不能很好地工作」嗎? – Seano666

+0

你的代碼看起來不錯;我看到的唯一可能的錯誤是Session(「Info」)沒有值,並且您得到「未設置爲對象實例的對象引用」錯誤消息。只是一個假設,提供你遇到的真正的錯誤將有所幫助。 – CurseStacker

回答

0

您不需要DataTableSqlDataAdapter因爲您沒有檢索任何數據。

我相信你想是這樣的 -

Protected Sub btnSubmimt_Click(sender As Object, e As EventArgs) 
    Dim connStr As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString 
    Dim cmdText As String = "Update [users] Set Email = @Email , Role = @Role, Country= @Country where UserName = @UserName" 
    Using conn = New SqlConnection(connStr) 
     Using cmd = New SqlCommand(cmdText, conn) 
      conn.Open() 
      cmd.Parameters.Add(New SqlParameter("@Email", txtEmail.Text)) 
      cmd.Parameters.Add(New SqlParameter("@Role", txtRole.Text)) 
      cmd.Parameters.Add(New SqlParameter("@Country", DDLCountry.SelectedValue)) 
      cmd.Parameters.Add(New SqlParameter("@UserName", Session("UserName"))) 
      cmd.ExecuteNonQuery() 
     End Using 
    End Using 
    ModalPopupExtender1.Show() 
End Sub