以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  贺老师请看看:此窗口提示是何错误?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=6059)

--  作者:yangming
--  发布时间:2010/2/28 16:25:00
--  贺老师请看看:此窗口提示是何错误?
此按钮代码,是为了在数据库中新建一个新表,原来并没有错误,现在总是会出现下列提示,但是仍会执行完代码,请教这是何错?
Tables("RS_项目管理设置_Table2").AddNew()
Tables("RS_项目管理设置_Table2").Current("项目")= e.Form.Controls("TextBox1").Value
Dim scm as New SQLCommand
scm.C
DataTables("RS_项目管理设置_Table4").DataRows.Clear()
dim f As New Filler
        f.SourceTable = DataTables("项目总表") \'指定数据来源
        f.DataTable = DataTables("RS_项目管理设置_Table4") \'指定数据接收表
        f.Filter = "[表名] = \'ymy\'"
        f.Fill() \'填充数据
Dim t as Table = Tables("RS_项目管理设置_Table4")
s= e.Form.Controls("TextBox1").Value
s1="("
if GetTableNamesFromConnection("rs").Contains(s)
Dim Result As DialogResult
Result = MessageBox.Show( s & " 表已经存在,是否删除? \'是\',删除后新建,\'否\',退出"")", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    scm.CommandText = "drop table "& s & ""
scm.ExecuteNonQuery
Else
   Return
End If
End If
For Each r as Row in t.Rows
     s1=s1 & "["& r("列名") &"] " & "  " & r("列类") & "," & Chr(13) & Chr(10)
Next
s2 ="PRIMARY KEY ([" & Tables("RS_项目管理设置_Table4")(0,"列名") & "]))"
scm.CommandText = "CREATE TABLE " & s & Chr(13) & Chr(10)
 scm.CommandText = scm.CommandText & s1 & s2
scm.ExecuteNonQuery

图片点击可在新窗口打开查看此主题相关图片如下:from子句语法错误.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-3-1 13:06:35编辑过]

--  作者:mr725
--  发布时间:2010/2/28 17:36:00
--  
少了Dim s,s1,s2 As String ???
--  作者:yangming
--  发布时间:2010/2/28 18:15:00
--  
第一行就是,我没贴上来,呵
Dim s,s1,s2 As String
不是这个问题
--  作者:mr725
--  发布时间:2010/2/28 19:06:00
--  
再猜一次: 列类型问题? Access和Sql列类型有点区别的。
--  作者:yangming
--  发布时间:2010/2/28 19:10:00
--  
原来是内部表,现在改成Access数据表了,在窗口中动态加载,不知何故,总是出错
--  作者:czy
--  发布时间:2010/2/28 19:20:00
--  

检查一下s1数据是否有误

[此贴子已经被作者于2010-2-28 19:26:25编辑过]

--  作者:yangming
--  发布时间:2010/2/28 19:34:00
--  
以下是引用czy在2010-2-28 19:20:00的发言:

检查一下s1数据是否有误

[此贴子已经被作者于2010-2-28 19:26:25编辑过]

不会有误的,此代码虽有提示,但是仍能执行,并已生成了数据表,原本在内部表情况下并没问题,现改成窗口动态加载后才出的错,搞了三个多小时了也没有找出问题


--  作者:czy
--  发布时间:2010/2/28 19:41:00
--  

分别测s1和s2看看字符组合结果

Output.show(s1)
Output.show(s2)

另外提示出错是DialogResult是Yes 还是No


--  作者:yangming
--  发布时间:2010/2/28 19:54:00
--  
scm.CommandText & s1 & s2    的组合,没有问题啊

CREATE TABLE 员工表
([ID]   AUTOINCREMENT,
[工号]   Text(32),
[姓名]   Text(32),
[部门]   Text(32),
PRIMARY KEY ([ID]))

--  作者:czy
--  发布时间:2010/2/28 20:04:00
--  
再测一下MessageBox按Yes后的CommandText语句。
感觉就这几个地方会问题。