在vb中想在一个数据库db中建立一个表tab
sqlfile中的内容是uss db
CREATE TABLE [dbo].[tab] (
[tid] [int] NOT NULL ,
[tm] [money] NULL
) ON [PRIMARY]
GO
VB代码
Dim sql,sqlfile As String
sql = "master.dbo.xp_cmdshell ' osql -U kisadmin -P ypbwkfyjhyhgzj -i """ & sqlFile & """'"
cn.Execute sql但是每次执行完,我这个表都建立在数据库master中,但是我的本意是建立在db中呀,请教大家是哪里的问题?
sqlfile中的内容是uss db
CREATE TABLE [dbo].[tab] (
[tid] [int] NOT NULL ,
[tm] [money] NULL
) ON [PRIMARY]
GO
VB代码
Dim sql,sqlfile As String
sql = "master.dbo.xp_cmdshell ' osql -U kisadmin -P ypbwkfyjhyhgzj -i """ & sqlFile & """'"
cn.Execute sql但是每次执行完,我这个表都建立在数据库master中,但是我的本意是建立在db中呀,请教大家是哪里的问题?
解决方案 »
- 我用VB写的程序为什么容易出现"内存不能read"错误?
- vb6.0 转成 vb.net
- 请帮忙,把这几行C语言的代码转为VB。先谢谢了
- 求助急!!VB所有控件突然无法显示中文
- PICTURE控件播放完视频后就显示不了图片
- 问个关于字库的问题,希望能有答复……
- 请帮我看看这个insert语句错在什么地方,字段全是字符型
- mschart的问题,Help~帮帮偶了~
- 在程序运行过程中如何通过拖动 动态的更改treeview宽度,类似WINDOWS中的资源管理器左边的treeview??谢谢
- 关于用Open语句写文件替换文件内容的问题
- 编写访问网页的程序时遇到麻烦问题!急~~~~~~~~~~~~ 求助求助
- VB如何取得存储过程的二个返回值
uss db
GO
CREATE TABLE [dbo].[tab] (
[tid] [int] NOT NULL ,
[tm] [money] NULL
) ON [PRIMARY]
GO
use db
不是
uss db
go
create table .....
sqlfile中的内容是--不能在这里写 use db,因为db名称是变化的
CREATE TABLE [dbo].[tab] (
[tid] [int] NOT NULL ,
[tm] [money] NULL
) ON [PRIMARY]
GO
上面的脚本是固定的,使用哪一个数据库是动态在变化的,我不能在脚本中指定使用哪一个数据库。
所以我的VB代码
Dim sql,sqlfile As String
sql = "master.dbo.xp_cmdshell ' osql -U kisadmin -P ypbwkfyjhyhgzj -i """ & sqlFile & """'"
cn.Execute StrUseDb
'这个strUseDb里面的内容就是根据我登陆不同的数据库来确定使用哪个数据库的,比如我登陆db,
'那么这个StrUseDb="use Db"
cn.Execute sql
但是每次执行完,我这个表都建立在数据库master中,但是我的本意是建立在db中呀,请教大家是哪里的问题?
cn.Execute sql
之前,重新生成sqlFile文件的内容
sql = "master.dbo.xp_cmdshell ' osql -U kisadmin -P ypbwkfyjhyhgzj -i """ & sqlFile & """'"
' cn.Execute StrUseDb
'这个strUseDb里面的内容就是根据我登陆不同的数据库来确定使用哪个数据库的,比如我登陆db,
'那么这个StrUseDb="use Db"
'设你的数据名为Db:
sql=replace(sql,"CREATE TABLE [dbo].","CREATE TABLE Db.[dbo].")
'or
strUserDb="Db"
sql=replace(sql,"CREATE TABLE [dbo].","CREATE TABLE " & strUserDb." & "[dbo].")
cn.Execute sql
sql = "master.dbo.xp_cmdshell ' osql -U kisadmin -P ypbwkfyjhyhgzj -i """ & sqlFile & """'"
' cn.Execute StrUseDb
'这个strUseDb里面的内容就是根据我登陆不同的数据库来确定使用哪个数据库的,比如我登陆db,
'那么这个StrUseDb="use Db"
'设你的数据名为Db:
sql=replace(sql,"CREATE TABLE [dbo].","CREATE TABLE Db.[dbo].")
'or
strUserDb="Db"
sql=replace(sql,"CREATE TABLE [dbo].","CREATE TABLE " & strUserDb & "[dbo].")
cn.Execute sql
sqlfile中的内容是--不能在这里写 use db,因为数据库名称是变化的.这里就是我想要解决的问题。
CREATE TABLE [dbo].[tab] (
[tid] [int] NOT NULL ,
[tm] [money] NULL
) ON [PRIMARY]
GO上面的脚本是固定的,储存在一个文本文件*.sql中.使用哪一个数据库是动态在变化的,我不能在脚本中指定使用哪一个数据库,只能在VB中临时指定。
所以我的VB代码
Dim sql,sqldb,sqlfile As String
sqldb="db"
sql = "master.dbo.xp_cmdshell ' osql -U kisadmin -P ypbwkfyjhyhgzj -i """ & sqlFile & """'"
cn.DefaultDatabase=sqldb '加不加都是一样没有用
cn.Execute StrUseDb
cn.Execute sql但是每次执行完,我这个表都建立在数据库master中,但是我的本意是建立在db中呀,请教大家是哪里的问题?
如果大家有时间帮我测试下看行不行?
我之前已经发一贴,如有高手解决两贴共200分一起献上。
http://topic.csdn.net/u/20110613/20/f7eb4863-5ad1-4a8d-b681-7e259a4aaf63.htmlVB使用master.dbo.xp_cmdshell 建立的表怎么总是在数据库master中呀?