2017-04-04 12 views
0

私のプロジェクトでプロファイルの更新ページをプリフォームしようとすると、クエリがうまく機能しません。 以下のコード: が保護されたサブbtnSubmimt_Click(オブジェクトとして送信者、EventArgsのようe)はbtnSubmimt.Click 点心は、ハンドルのDataTable =新しいDataTableを() 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

DTますデータを取得していないので、DataTableおよびSqlDataAdapterは必要ありません。

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