以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  MYSQL如何在窗口上及时显示ID,主键?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191971)

--  作者:lin98
--  发布时间:2024/5/20 13:30:00
--  MYSQL如何在窗口上及时显示ID,主键?
MYSQL如何在窗口上及时显示ID,主键?狐表窗口无及时取后台ID,主键,一,再新增时,或删除,会提示违反并发,0,的错误,造成数据混乱?
下面SQL,ACCESS的获取自动生成的OrderID
Dim ID As Integer = cmd.ExecuteScalar() \'新增订单,并获取自动生成的OrderID
--  作者:有点蓝
--  发布时间:2024/5/20 13:37:00
--  
https://www.baidu.com/s?wd=mysql%20%E8%8E%B7%E5%8F%96%E8%87%AA%E5%A2%9E%E4%B8%BB%E9%94%AE%E5%80%BC
--  作者:lin98
--  发布时间:2024/5/20 15:24:00
--  
如何获取数据,主键,之后保存?下面代码实现能达到效果,如何处理?"b_tb")\'表的主键是ID
Dim db = HyS-l.DataBaseFactory.CreateDatabase("mc")
Dim dt2 As DataTable = e.Form.Controls("Table2").Table.DataTable
Dim dtb2 As System.Data.DataTable = dt2.basetable.Copy \'
dtb2.Columns.Remove("_Locked") \'
dtb2.Columns.Remove("System_Sort_Temporary")
dtb2.Columns.Remove("System_Filter_Temporary")
dtb2.Columns.Remove("System_Filter_Unique")
Dim Sql2 = "SELEC-T LAST_INSERT_ID();"
Dim res2 = db.UpdateDataTable(dtb2, "b_tb")\'表
dt2.AcceptChanges()

--  作者:有点蓝
--  发布时间:2024/5/20 15:28:00
--  
保存后重新加载数据
--  作者:lin98
--  发布时间:2024/5/20 15:49:00
--  
如何获取数据,主键,之后保存?下面代码实现能达到效果,如何处理?"b_tb")\'表的主键是ID
Dim db = HyS-l.DataBaseFactory.CreateDatabase("mc")
Dim dt2 As DataTable = e.Form.Controls("Table2").Table.DataTable
Dim dtb2 As System.Data.DataTable = dt2.basetable.Copy \'
dtb2.Columns.Remove("_Locked") \'
dtb2.Columns.Remove("System_Sort_Temporary")
dtb2.Columns.Remove("System_Filter_Temporary")
dtb2.Columns.Remove("System_Filter_Unique")

Dim res2 = db.UpdateDataTable(dtb2, "b_tb")\'表
dt2.AcceptChanges()
Dim Sql2 = "SELEC-T LAST_INSERT_ID();"

执行后无效

--  作者:有点蓝
--  发布时间:2024/5/20 15:59:00
--  
这只是定义一个sql的字符串,根本都没有任何执行。再说也不是这样用的,这种sql是结合insert语句使用的。

上面这种整表保存的,只能是保存后重新全部加载和绑定窗口表,用不了这种sql

--  作者:lin98
--  发布时间:2024/5/20 16:17:00
--  
表A
Dim r As Row = Tables("窗口_Table1").addnew\'表
r("制单日期") = Date.Today() 
r("制单人") = User.name 

Static Index As Integer = 99999
r("编号") = Format(Date.Today(), "yyMM") & "-" & Index
Index = Index - 1

问题一:MYSQL上面如何转为下面?

INSERT INTO 表A (username, email) VALUES (\'example\', \'example@example.com\');
 
-- 获取最新插入的自增ID
SELEC-T LAST_INSERT_ID();


问题二:如何实现获取主键后,保存?



[此贴子已经被作者于2024/5/20 16:36:08编辑过]

--  作者:有点蓝
--  发布时间:2024/5/20 16:41:00
--  
合并为一条sql执行,使用分号分隔

dim sql as string = "INSERT INTO 表A (username, email) VALUES (\'example\', \'example@example.com\');SELEC-T LAST_INSERT_ID();"



--  作者:lin98
--  发布时间:2024/5/20 18:31:00
--  
问题二:如何实现获取主键后,保存?
--  作者:有点蓝
--  发布时间:2024/5/20 20:18:00
--  
保存到哪里?!INSERT INTO执行后不就已经保存了吗!