我需要在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)
答案 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