1.利用SqlDataAdapter Insertcommand 获取刚新增的自动编号ID值
2.要先使用 SelectCommand 后才可用 Insertcommand插入值
3.建立 ds.Tables(0).NewRow() 的 DataRow
这句很重要 要用INSERTCOMMAND 必须要先有SELCOMMAND这个
Dim myAda As SqlDataAdapter = New SqlDataAdapter("Select * From [UserInfo] Where [U_ID] Is Null", conn)
接下来就是INSERT了,注意 有二个SQL语句 "
;"
Select SCOPE_IDENTITY() As U_ID (U_ID
为自动ID)

sql = "INSERT INTO [UserInfo] ("
sql += " [U_Name]"
sql += " ,[U_Password]"
sql += " ,[U_EMail]"
sql += " ,[U_Face]"
sql += " ,[U_UserTruename]"
sql += " ,[U_Sex]"
sql += " ,[U_Age]"
sql += " ,[U_Identity]"
sql += " ,[U_Tel]"
sql += " ,[U_Cellphone]"
sql += " ,[U_Address]"
sql += " ,[U_Zipcode]"
sql += ",[U_MsnQQ]"
sql += ",[U_About]"
sql += ",[M_MaCode]"
sql += ",[U_Score]"


sql += " ) Values ("
sql += " @U_Name"
sql += " ,@U_Password"
sql += " , @U_EMail"
sql += " ,@U_Face"
sql += " ,@U_UserTruename"
sql += " ,@U_Sex"
sql += " ,@U_Age"
sql += " ,@U_Identity"
sql += " ,@U_Tel"
sql += " ,@U_Cellphone"
sql += " ,@U_Address"
sql += " ,@U_Zipcode"
sql += ",@U_MsnQQ"
sql += ",@U_About"
sql += ",@M_MaCode"
sql += ",@U_Score"
sql += ");Select SCOPE_IDENTITY() As U_ID"
myAda.InsertCommand = New SqlCommand(sql, conn)
With myAda.InsertCommand

.Parameters.Add(New SqlParameter("@U_Name", SqlDbType.NVarChar, 40, "U_Name"))
.Parameters.Add(New SqlParameter("@U_Password", SqlDbType.NVarChar, 200, "U_Password"))
.Parameters.Add(New SqlParameter("@U_Email", SqlDbType.NVarChar, 300, "U_Email"))
.Parameters.Add(New SqlParameter("@U_Face", SqlDbType.Int, 4, "U_Face"))
.Parameters.Add(New SqlParameter("@U_UserTruename", SqlDbType.NVarChar, 100, "U_UserTruename"))
.Parameters.Add(New SqlParameter("@U_Sex", SqlDbType.Bit, 1, "U_Sex"))
.Parameters.Add(New SqlParameter("@U_Age", SqlDbType.NVarChar, 100, "U_Age"))
.Parameters.Add(New SqlParameter("@U_Identity", SqlDbType.NVarChar, 100, "U_Identity"))
.Parameters.Add(New SqlParameter("@U_Tel", SqlDbType.NVarChar, 100, "U_Tel"))
.Parameters.Add(New SqlParameter("@U_Cellphone", SqlDbType.NVarChar, 100, "U_Cellphone"))
.Parameters.Add(New SqlParameter("@U_Address", SqlDbType.NVarChar, 300, "U_Address"))
.Parameters.Add(New SqlParameter("@U_Zipcode", SqlDbType.NVarChar, 100, "U_Zipcode"))
.Parameters.Add(New SqlParameter("@U_MsnQQ", SqlDbType.NVarChar, 100, "U_MsnQQ"))
.Parameters.Add(New SqlParameter("@U_About", SqlDbType.NVarChar, -1, "U_About"))
.Parameters.Add(New SqlParameter("@M_MaCode", SqlDbType.NVarChar, 100, "M_MaCode"))
.Parameters.Add(New SqlParameter("@U_Score", SqlDbType.Int, 4, "U_Score"))

End With
建立DS 并获取 ID
Dim ds As New DataSet
myAda.Fill(ds)

Dim myDataRow As DataRow = ds.Tables(0).NewRow()

myDataRow("U_Name") = Me.U_Name.Text.Trim
myDataRow("U_Password") = myappClass.EncryptPassword(Me.U_PasswordReg1.Text.Trim, "MD5")
myDataRow("U_Email") = Me.U_Email.Text.Trim
myDataRow("U_Face") = Me.myhead.Value.Trim.Trim
myDataRow("U_UserTruename") = Me.U_UserTruename.Text.Trim
If Me.U_Sex.SelectedValue = 1 Then
myDataRow("U_Sex") = True
Else
myDataRow("U_Sex") = False
End If

myDataRow("U_Age") = Me.U_Age.Text.Trim
myDataRow("U_Identity") = Me.U_Identity.Text.Trim
myDataRow("U_Tel") = Me.U_Tel.Text.Trim
myDataRow("U_Cellphone") = Me.U_Cellphone.Text.Trim
myDataRow("U_Address") = Me.U_Address.Text.Trim
myDataRow("U_Zipcode") = Me.U_Zipcode.Text.Trim
myDataRow("U_MsnQQ") = Me.U_MsnQQ.Text.Trim

If Me.U_About.Text.Trim <> "" Then
myDataRow("U_About") = myappClass.rpl(Me.U_About.Text.Trim)
Else
myDataRow("U_About") = Me.U_About.Text.Trim

End If

myDataRow("M_MaCode") = myappClass.getMacAdd().ToString
myDataRow("U_Score") = 1000 ''注册赠送游戏喜金 2008-05-07

ds.Tables(0).Rows.Add(myDataRow)
myAda.Update(ds)

Dim myUID As String = ds.Tables(0).Rows(0)("U_ID").ToString
ds.Dispose()
注意
ds.Tables(0).Rows(0)("U_ID").ToString
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· AI Agent爆火后,MCP协议为什么如此重要!
· Draw.io:你可能不知道的「白嫖级」图表绘制神器
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· Java使用多线程处理未知任务数方案