插入需要where子句的代码

时间:2011-11-05 09:22:54

标签: asp.net

我需要在raw中插入一些数据。假设首先我插入用户名,名字姓氏等,然后我从用户名字段

创建会话“用户名”

现在我需要插入性别,教育,photourl,其中username = session“username”

我正在使用maltiview并查看

Protected Sub btnSubmitD1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        'Dim temp As Integer = (DateTime.Now.Subtract(Convert.ToDateTime("txtDOB.Text")).Days) / 365

        Dim objcmd As New SqlCommand((((("insert into Registration(UserName,FName,LName,Gender,Religion,Language,Status) values('" & Session("UserName").ToString() & "','") + txtFName.Text & "','") + txtLName.Text & "','" & ddlGender.SelectedValue.ToString() & "','") + txtReligion.Text & "','") + txtMotherTongue.Text & "','" & ddlMaritalStatus.SelectedValue.ToString() & "')", con)

2 个答案:

答案 0 :(得分:1)

希望我能正确理解你。您希望更新这些字段值,其中用户名是存储在会话变量中的用户名。您可以使用以下代码:

        Using conn As New SqlConnection("Data Source=(local);Initial Catalog=YouDatabase;Integrated Security=True")
            Using cmdUpdate As New SqlCommand("Update Registration Set Gender=@Gender, Education=@Education, PhotoUrl=@PhotoUrl Where Username=@UserName")
               conn.Open()
               cmdUpdate.Parameters.AddWithValue("@Gender", "male")
               cmdUpdate.Parameters.AddWithValue("@Education", "Degree")
               cmdUpdate.Parameters.AddWithValue("@PhotoUrl", "http://photo.com/photo.png")
               cmdUpdate.Parameters.AddWithValue("@UserName", Session("UserName").ToString())
               cmdUpdate.ExecuteNonQuery()
            End Using
        End Using

答案 1 :(得分:0)

所以你创建了一个分解为Views的简单表单。

在第一个视图中,您要捕获用户名和人物名称,然后是第二个视图以及其他一些详细信息等。但是,您希望在第一个视图完成后为用户创建数据库条目...

有两种方法可以做到这一点

  

一个。首先将所有字段保存到Session变量中。这条路   您将所有数据一次输入数据库。它也允许任何   无需额外的数据库检查即可轻松更改字段。

     

湾更难的是从第一个视图输入字段到数据库,保存   返回的@@ IDENTITY(或您用于唯一ID的任何内容)然后使用   用于保存以下视图中的字段。

对于(a),每当你交换视图时,简单保存/更新Session["fieldname"] = fieldvalue。然后在表单完成后,您可以使用类似

的语句
INSERT INTO table (name,firstname,lastname,...) VALUES (@name,@firstname,@lastname,...)

对于(b),您首先必须插入初始视图,并获取新ID

INSERT INTO table (name,firstname,lastname) VALUES (@name,@firstname,@lastname);
SELECT @@IDENTITY;

然后,对于以下每个视图,使用从@@ IDENTITY返回的值来更新表

UPDATE table SET gender=@gender, dob=@dob,... WHERE id=@id