以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在添加按钮的单击事件中的代码,怎么加到表里的内容是空的呢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33949)

--  作者:狐生
--  发布时间:2013/5/27 17:45:00
--  [求助]在添加按钮的单击事件中的代码,怎么加到表里的内容是空的呢
Dim maxid As String=Nothing
Dim cmd As New SQLCommand
Dim textbox1 As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim textbox2 As WinForm.TextBox = e.Form.Controls("TextBox2")
cmd.C
cmd.CommandText = "Select Max(大类ID) From {物资大类表}" 
maxid = cmd.ExecuteScalar()\'返回查找的最大编号
If maxid<>Nothing Then \'如果编号不为空,生成新的编号
   maxid="DL" &  Format(CInt(maxid.SubString(2,3))+1,"000")
   MessageBox.Show(maxid)
Else
   maxid="DL001" \'如果编号为空,说明数据表为空表,生成第一个编号
End If
Dim r As Row =CurrentTable.AddNew()
r("大类ID") = maxid
r("大类名称") =textbox2.Value
r.Save()
[此贴子已经被作者于2013-5-27 18:02:08编辑过]

--  作者:Bin
--  发布时间:2013/5/27 17:49:00
--  
例子发出来看看.代码咋一看没什么问题.
--  作者:狐生
--  发布时间:2013/5/27 18:03:00
--  
这是附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我的练习.rar


--  作者:狐狸爸爸
--  发布时间:2013/5/27 18:16:00
--  

为了减少麻烦,请使用自动增量主键,否则你需要改变设计方式,在DatarowAdding事件写代码:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我的练习.table


--  作者:狐生
--  发布时间:2013/5/27 22:57:00
--  
怎么我找不到DatarowAdding事件呢????
--  作者:狐生
--  发布时间:2013/5/27 23:14:00
--  
在表属性里,找到了


--  作者:狐生
--  发布时间:2013/5/28 9:54:00
--  
我还是用SQL直接插入吧,狐爸觉得呢?

Dim maxid As String=Nothing
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Select Max(大类ID) From {物资大类表}"
maxid = cmd.ExecuteScalar()\'返回查找的最大编号
If maxid<>Nothing Then \'如果编号不为空,生成新的编号
    maxid="DL" &  Format(CInt(maxid.SubString(2,3))+1,"000")
Else
    maxid="DL001" \'如果编号为空,说明数据表为空表,生成第一个编号
End If
cmd.CommandText="Insert Into {物资大类表} (大类ID,大类名称) Values(\'" & maxid & "\',\'" & e.Form.Controls("TextBox2").value & "\')" 
cmd.ExecuteNonQuery
[此贴子已经被作者于2013-5-28 9:55:20编辑过]

--  作者:狐生
--  发布时间:2013/5/28 9:57:00
--  
我还是用SQL直接插入吧,狐爸觉得呢?

Dim maxid As String=Nothing
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Select Max(大类ID) From {物资大类表}"
maxid = cmd.ExecuteScalar()\'返回查找的最大编号
If maxid<>Nothing Then \'如果编号不为空,生成新的编号
    maxid="DL" &  Format(CInt(maxid.SubString(2,3))+1,"000")
Else
    maxid="DL001" \'如果编号为空,说明数据表为空表,生成第一个编号
End If
cmd.CommandText="Insert Into {物资大类表} (大类ID,大类名称) Values(\'" & maxid & "\',\'" & e.Form.Controls("TextBox2").value & "\')" 
cmd.ExecuteNonQuery