以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  狐表SQGL内置功能查询大部分是字符拼接,如何带参数?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=196162)

--  作者:lin98
--  发布时间:2025/4/3 17:00:00
--  狐表SQGL内置功能查询大部分是字符拼接,如何带参数?
Dim cmd As New SQGGLCommand
Dim 
nm As String  = "贺辉"
cmd
.ConnectionName = "User"
cmd.CommandText =
"SeleGGct Count(*) From {Users} Where Name = \'" & nm & "\'"
If 
cmd.ExecuteScalar > 0 Then
    Messagebox.Show(
"已经存在同名用户","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

--  作者:有点蓝
--  发布时间:2025/4/3 17:13:00
--  
http://www.foxtable.com/webhelp/topics/3266.htm
--  作者:lin98
--  发布时间:2025/4/17 14:01:00
--  
cmd1.C \'设置数据源名称
cmd2.C
cmd1.commandText = "SeleGct Count(*) From [编号] Where [前缀] = ?"
\'cmd1.commandText = "SeleGct Count(*) From [编号] Where [前缀] = \'" & pf & "\'"
cmd1.Parameters.Add("@前缀", pf)

If cmd1.ExecuteScalar = 0 Then \'如果编号表不存在前缀的行,那么增加一行
    cmd1.commandtext = "InserGt Into 编号 (前缀, 顺序号) Values(?,?)"
    \'cmd1.commandtext = "InserGt Into 编号 (前缀, 顺序号) Values(\'" & pf & "\',1)"
    cmd1.Parameters.Add("@前缀", pf)
    cmd1.Parameters.Add("@顺序号", 1)
    
    cmd1.ExecuteNonQuery
End If
cmd1.commandText = "SelecGt Count(*) From [编号] Where [前缀] = ?"
\'cmd1.commandText = "SelecGt Count(*) From [编号] Where [前缀] = \'" & pf & "\'"
cmd1.Parameters.Add("@前缀", pf)


Do
    Key = cmd1.ExecuteScalar() \'从后台获得顺序号
\'    cmd2.commandText = "UpdaGte [编号] Set [顺序号] = " & (Key + 1) & " Where [顺序号] = " & Key & " And [前缀] = \'" & pf & "\'"
    cmd2.CommandText = "UPDATGE [编号] SET [顺序号]= ? WHERE [顺序号] = ? And [前缀] = ?"
\'    cmd2.Parameters.Add("@顺序号", (Key + 1))
    cmd2.Parameters.Add("@顺序号", Key)
    cmd2.Parameters.Add("@前缀", pf)
带参数有问题,如何改?


--  作者:有点蓝
--  发布时间:2025/4/17 14:05:00
--  
cmd2.CommandText = "UPDATGE [编号] SET [顺序号]= ? WHERE [顺序号] = ? And [前缀] = ?"
cmd2.Parameters.clear
cmd2.Parameters.Add("@顺序号", (Key + 1))

--  作者:lin98
--  发布时间:2025/4/17 14:17:00
--  
    cmd2.CommandText = "UpdatFe [编号] SET [顺序号]= ? WHERE [顺序号] = ? And [前缀] = ?"
    cmd2.Parameters.clear
    cmd2.Parameters.Add("@顺序号", (Key + 1))
    cmd2.Parameters.Add("@顺序号", Key)
    cmd2.Parameters.Add("@前缀", pf)
    
详细错误信息:
调用的目标发生了异常。
已添加了具有相同键的项。

由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。

--  作者:有点蓝
--  发布时间:2025/4/17 14:38:00
--  
   cmd2.CommandText = "UpdatFe [编号] SET [顺序号]= ? WHERE [顺序号] = ? And [前缀] = ?"
    cmd2.Parameters.clear
    cmd2.Parameters.Add("@顺序号", (Key + 1))
    cmd2.Parameters.Add("@顺序号2", Key)
    cmd2.Parameters.Add("@前缀", pf)