Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:老师帮忙看看,哪里错了?能精简吗?

1楼
菜鸟foxtable 发表于:2009/1/6 16:23:00
Dim cmd As New SQLCommand
cmd.Connec tion Name = "zygl"
dim kz as string = ".Controls("DateTimePicker1").Value, .Controls("TextBox1").Text, .Controls("ComboBox1").Text, .Controls("DateTimePicker2").Value, .Controls("TextBox2").Text, .Controls("TextBox3").Text, .Controls("TextBox4").Text, .Controls("TextBox5").Text, .Controls("ComboBox2").Text, .Controls("TextBox6").Text, .Controls("NumericComboBox1").Value"
dim sql as string = "Insert Into [患者] (登记日期,姓名,性别,出生日期,年龄,地址,电话,联系人,费用类别,住院次数,医农保证号) "
sql = sql & " Values(kz)"
     cmd.CommandText = sql
     cmd.ExecuteNonQuery()
e.form.close()


取当前窗口各控件录入的值写入表,系统提示红色部分出错,为什么呢?

另外能否精简?
[此贴子已经被作者于2009-1-6 16:25:47编辑过]
2楼
狐狸爸爸 发表于:2009/1/6 16:34:00
这一行代码包含很多很多的错误啊。

补一下动态合成表达式的知识吧,位于帮助文件“开发篇 - Foxtable编程 - 时间编程 - 单引号和双引号”
此外还要注意表达式中,字符用单引号括起来,日期用符号#括起来,数值不用括起来的。
3楼
狐狸爸爸 发表于:2009/1/6 16:39:00
我觉得你还是别用SQL插入数据,严谨的代码会非常的长

用foxtable自带的增加行功能:

Dim r As Row  = Tables("患者").AddNew
r("登记日期") = e.Form.Controls("DateTimePicker1").Value
r("姓名") = e.Form.Controls("TextBox1").Value
......
4楼
菜鸟foxtable 发表于:2009/1/6 16:42:00
以下是引用狐狸爸爸在2009-1-6 16:39:00的发言:
我觉得你还是别用SQL插入数据,严谨的代码会非常的长

用foxtable自带的增加行功能:

Dim r As Row  = Tables("患者").AddNew
r("登记日期") = e.Form.Controls("DateTimePicker1").Value
r("姓名") = e.Form.Controls("TextBox1").Value
......

图片点击可在新窗口打开查看这样子如果控件过多,那不是太麻烦了?要写好半天..

5楼
狐狸爸爸 发表于:2009/1/6 16:44:00
以下是引用菜鸟foxtable在2009-1-6 16:42:00的发言:

图片点击可在新窗口打开查看这样子如果控件过多,那不是太麻烦了?要写好半天..


那也比你用SQL方便多了。

6楼
ybil 发表于:2009/1/7 0:03:00
Dim r As Row 
Dim TC, Tz  As String
Tc = "DTP1,TtB1,CbB1,DTP2,TtB2,TtB3,TtB4,TtB5,CbB2,TtB6,NmB"
Tz ="登记日期,姓名,性别,出生日期,年龄,地址,电话,联系人,费用类别,住院次数,医农保证号"
r = Tables("患者").AddNew
For n As Integer  = 0 to 10
       r(Tz.split(",")(n))= e.form.Controls(Tc.split(",")(n)).Value
Next
7楼
狐狸爸爸 发表于:2009/1/7 0:40:00
以下是引用ybil在2009-1-7 0:03:00的发言:
Dim r As Row 
Dim TC, Tz  As String
Tc = "DTP1,TtB1,CbB1,DTP2,TtB2,TtB3,TtB4,TtB5,CbB2,TtB6,NmB"
Tz ="登记日期,姓名,性别,出生日期,年龄,地址,电话,联系人,费用类别,住院次数,医农保证号"
r = Tables("患者").AddNew
For n As Integer  = 0 to 10
       r(Tz.split(",")(n))= e.form.Controls(Tc.split(",")(n)).Value
Next


呵呵,我来改进一下:

Dim r As Row 
Dim TC(), Tz()  As String
Tc = "DTP1,TtB1,CbB1,DTP2,TtB2,TtB3,TtB4,TtB5,CbB2,TtB6,NmB".Split(",")
Tz = "登记日期,姓名,性别,出生日期,年龄,地址,电话,联系人,费用类别,住院次数,医农保证号".Split(",")
r = Tables("患者").AddNew
For n As Integer  = 0 to 10
       r(Tz(n))= e.form.Controls(Tc(n)).Value
Next

8楼
yuanbin 发表于:2009/1/7 8:35:00
学习了。
9楼
菜鸟foxtable 发表于:2009/1/7 8:50:00
以下是引用狐狸爸爸在2009-1-7 0:40:00的发言:


呵呵,我来改进一下:

Dim r As Row 
Dim TC(), Tz()  As String
Tc = "DTP1,TtB1,CbB1,DTP2,TtB2,TtB3,TtB4,TtB5,CbB2,TtB6,NmB".Split(",")
Tz = "登记日期,姓名,性别,出生日期,年龄,地址,电话,联系人,费用类别,住院次数,医农保证号".Split(",")
r = Tables("患者").AddNew
For n As Integer  = 0 to 10
       r(Tz(n))= e.form.Controls(Tc(n)).Value
Next

我对你的景仰.犹如滔滔江水,绵绵不绝图片点击可在新窗口打开查看

10楼
狐狸爸爸 发表于:2009/1/7 9:15:00
以下是引用菜鸟foxtable在2009-1-7 8:50:00的发言:

我对你的景仰.犹如滔滔江水,绵绵不绝图片点击可在新窗口打开查看


真正解决问题的是YBIL

共12 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 2 queries.