以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sql 2008 创建了存储过程link 怎么在狐表端启动,并实现对应的数据写入本地呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170025) |
-- 作者:cnsjroom -- 发布时间:2021/7/9 18:44:00 -- sql 2008 创建了存储过程link 怎么在狐表端启动,并实现对应的数据写入本地呢? sql 2008 创建了存储过程link 怎么在狐表端启动,并实现对应的数据写入本地呢? 狐表代码: Dim cmd As new S QLCommand cmd.Connectio nName = "kj222" cmd.Comma ndText = "LINK" cmd.StoredPr ocedure = True \'表示CommandText内容不是标准的SQL语句,而是存储过程名 cmd.Parameters.Add("@MKCODE ","10010") cmd.Parameters.Add("@ADDRESS ","D:\\persionLoaction\\Data") cmd.Parameters.Add("@flag ","1") Dim dt As DataTable = cmd.ExecuteReader 怎么没有将指定的文件保存到指定的目录下呢? 存储过程语句: |
-- 作者:有点蓝 -- 发布时间:2021/7/10 8:52:00 -- 只是执行sql,没有返回表格数据的,使用ExecuteNonQuery即可 cmd.Parameters.Add("@flag ","1") cmd.ExecuteNonQuery 其次xp_cmdshell这玩意我也没用过,百度看了一下,好像是把文件存储到数据库所在的电脑的,不是保存到客户端。自己到数据库里测试通过后再用 另外如果是多人使用的,注意每个用户都传入不同的地址,如果同名可能会被覆盖掉
|
-- 作者:cnsjroom -- 发布时间:2021/7/10 11:55:00 -- 回复:(有点蓝)只是执行sql,没有返回表格数据的,使... cmd.Paramet ers.Add("@flag ","1") cmd.ExecuteNonQuery 执行之后 怎么判断执行状况呢? set @sql=\'sel ect convert(varchar(20),getdate(),120)+\'\',\'\'+convert(varchar(10),(sel ect count(vc_Code) from BW_KJ222..m_Localizer where i_flag =0)) union all\'+ \' sel ect \'\'\'+@code+\'\'\' +\'\',\'\'+convert(varchar(20),[id],120)+\'\',\'\'+vc_Code +\'\',\'\'+vc_Name \'+ \' from BW_KJ222.dbo.m_Localizer where i_Flag=0\' 这样的语句 是否可以直接改成 在狐表中可以运行的语句呢?上述的\'\'+ +\'\' 是不是可以直接删除不要 如下: Dim cmd As New SQ LCommand cmd.Connect ionN ame = "kj222" cmd.CommandText = sele ct convert(varchar(20),getdate(),120),convert(varchar(10),(sel ect count(vc_Code) from BW_KJ222..m_Localizer where i_flag =0)) union all sele ct code,convert(varchar(20),[id],120),vc_Code ,vc_Name from BW_KJ222.dbo.m_Localizer where i_Flag=0" Dim xzqy As DataTable = cmd.ExecuteReader [此贴子已经被作者于2021/7/10 12:00:52编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/7/10 11:58:00 -- 执行不出错就说明成功执行完毕了。 如果要执行后返回一个值表示成功还是失败,参考:http://www.foxtable.com/webhelp/topics/3267.htm
|
-- 作者:cnsjroom -- 发布时间:2021/7/10 12:01:00 -- 回复:(有点蓝)执行不出错就说明成功执行完毕了。如... set @sql=\'sel ect convert(varchar(20),getdate(),120)+\'\',\'\'+convert(varchar(10),(sel ect count(vc_Code) from BW_KJ222..m_Localizer where i_flag =0)) union all\'+ \' sel ect \'\'\'+@code+\'\'\' +\'\',\'\'+convert(varchar(20),[id],120)+\'\',\'\'+vc_Code +\'\',\'\'+vc_Name \'+ \' from BW_KJ222.dbo.m_Localizer where i_Flag=0\' 这样的语句 是否可以直接改成 在狐表中可以运行的语句呢?上述的\'\'+ +\'\' 是不是可以直接删除不要 如下: Dim cmd As New SQ LCommand cmd.Connect ionN ame = "kj222" cmd.CommandText = sele ct convert(varchar(20),getdate(),120),convert(varchar(10),(sel ect count(vc_Code) from BW_KJ222..m_Localizer where i_flag =0)) union all sele ct code,convert(varchar(20),[id],120),vc_Code ,vc_Name from BW_KJ222.dbo.m_Localizer where i_Flag=0" Dim xzqy As DataTable = cmd.ExecuteReader 运行提示:使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。 是不是必须源端与目标端表结构要一样呢? [此贴子已经被作者于2021/7/10 12:03:32编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/7/10 13:44:00 -- UNION的语法先网上学习理解一下:https://www.w3school.com.cn/sql/sql_union.asp |