【发布时间】:2012-06-24 16:53:53
【问题描述】:
我正在开发一个 ASP.Net VB Web 应用程序
该应用程序包含一个GridView,它显示了我创建的数据表中的用户表的记录。该数据库是一个Sql server 数据库。
下面的代码将数据插入到一个表中,并通过内置函数@@Identity 从trainingTbl 表中插入最近添加的记录id (tt_id),并将该记录id 插入userAssessmentTbl。将标识添加到第二个 userAssessmentTbl 表中可以正常工作。
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lblUsr2 As Control = FindControlRecursive(MultiTabs, "txtUsr")
Dim strQuery As String
Dim cmd As SqlCommand
strQuery = "Insert into trainingTbl(s_id, t_date, EditorId, wa_id, st_id) values(@s_id , @t_date, @EditorId, @wa_id, @st_id ) Insert into userAssessmentTbl(tt_id, UserId) values(@@Identity, @UserId)"
cmd = New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@s_id", DDLCourse.Text)
cmd.Parameters.AddWithValue("@t_date", Convert.ToDateTime(txtDate.Text))
cmd.Parameters.AddWithValue("@EditorId", User.Identity.Name.ToString())
cmd.Parameters.AddWithValue("@st_id", myLblStation.Value().ToString)
cmd.Parameters.AddWithValue("@wa_id", myLblWatch.Value().ToString)
cmd.Parameters.AddWithValue("@UserId", lblUsr2.UniqueID.ToString)
InsertUpdateData(cmd)
End Sub
我遇到的问题似乎集中在如何将uniqueidenifier 从GridView 插入userAssessmentTbl 数据库!
以及如何,我想使用循环我可以将来自该 Gridview (GridView1) 的 UserId 记录与来自@@Identity 的循环 id 一起插入到userAssessmentTbl 表中。
这部分插入参数好像不对:
cmd.Parameters.AddWithValue("@UserId", lblUsr2.UniqueID().ToString)
我遇到的错误是:'从字符串转换为唯一标识符时转换失败。'
我也试过这样:
cmd.Parameters.AddWithValue("@UserId", SqlDbType.UniqueIdentifier).Value().ToString()
我遇到了错误:'操作数类型冲突:int 与 uniqueidentifier 不兼容'
问题略有改变,如何在 DataType 为 Uniqueidentifier 的 SQL DB 中插入字符串?
任何帮助将不胜感激。
【问题讨论】:
标签: asp.net vb.net gridview insert datatable