以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  内部表使用SQL语句出错提示没有输出表,求解  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21536)

--  作者:goodhi
--  发布时间:2012/7/16 14:35:00
--  内部表使用SQL语句出错提示没有输出表,求解
内部表使用SQL语句出错提示没有输出表,求解

Dim cmd As New SQLCommand
cmd.CommandText = "insert into [部门]( 部门,目录树,编码) Values (\'" & e.Form.Controls("TextBox2").text & "\',\'" & e.Form.Controls("TextBox3").text & "\',\'" &  e.Form.Controls("TextBox3").text & "\')"
MessageBox.Show(cmd.CommandText )
cmd.ExecuteNonQuery() 
[uplo
图片点击可在新窗口打开查看此主题相关图片如下:qq截图2.jpg
图片点击可在新窗口打开查看
[uplo
图片点击可在新窗口打开查看此主题相关图片如下:qq截图1.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2012-7-16 14:38:21编辑过]

--  作者:hhbb
--  发布时间:2012/7/16 14:40:00
--  
內部表不能用insert into
--  作者:goodhi
--  发布时间:2012/7/16 14:45:00
--  
原来真的是这样啊图片点击可在新窗口打开查看,那想增加用什么方法增加比较好?

Dim dr As DataRow
dr = DataTables("部门").AddNew()
dr("部门") = e.Form.Controls("TextBox2").text
dr("编码") = e.Form.Controls("TextBox3").text
dr("目录树") = e.Form.Controls("TextBox3").text

这个方法可以可是好像很笨啊,每个列写一行。。
[此贴子已经被作者于2012-7-16 14:45:43编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/7/16 14:53:00
--  
如果你的控件名称和列名保持一致,那么可以遍历实现,不用每个列一行。
--  作者:goodhi
--  发布时间:2012/7/16 15:11:00
--  
控件名称和列名保持一致,指的是什么,我看了遍历控件的帮助例子,和我想要的感觉不一样
[此贴子已经被作者于2012-7-16 15:13:24编辑过]

--  作者:blackzhu
--  发布时间:2012/7/16 15:24:00
--  
在列名和文本框名字一样的情况下,代码可以这样写?

  For Each cl As col In Tables("商品信息汇总").cols
    For Each c As WinForm.Control In e.Form.Controls
        If Typeof c Is WinForm.TextBox Then \'判断控件是否是文本框
            Dim t As WinForm.TextBox = c \'使用特定类型的变量引用控件
            If cl.Name = t.Name And t.Value IsNot Nothing Then
                Dim r As Row = Tables("商品信息汇总").AddNew
                r(cl.Name) = t.Value
            End If
        End If
    Next
Next

放在新增按钮中.

--  作者:goodhi
--  发布时间:2012/7/16 15:30:00
--  
就是说控件的名字用列名啊,谢谢了,学习了
--  作者:blackzhu
--  发布时间:2012/7/16 15:32:00
--  
是的.