DELPHI中升级数据库 新做一模块,需要在现在数据库中增加1个表与两个视图如果在程序打开时把表和视图创建进去?发现表可以成功,但视图创建不进去 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的语句 我放了三个MEMO 然后把创建语句放进去表的语句如下:if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_ModuleInstructionTab]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)CREATE TABLE [dbo].[p_ModuleInstructionTab] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [Fid] [int] NOT NULL , [FInstruction] [text] COLLATE Chinese_PRC_CI_AS NULL , [isused] [int] NOT NULL , [int1] [int] NULL , [int2] [int] NULL , [int3] [int] NULL , [str1] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [str2] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [str3] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [img] [image] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]视图语句create view dbo.P_FormMenuViewasselect a.subsysid,a.subsysname,a.showid,b.menuid,b.menucaption,b.menustruct,b.parentmenuid from P_SubSystemTab a left join P_FormMenuConfigTab b on a.subsysid=b.subsysidwhere a.useed=1然后: try AdoqTmp.SQL.Text := Memo1.Text; AdoqTmp.ExecSQL; except ShowMessage('memo1'); end; 你一次过的话,用动态语句较好, 即 N'...还有,你用MEMO的话,注意MEMO的行,即你可以adoquery1.sql.add(... 一行一行的加 AdoqTmp.SQL.Text := Memo1.Text; Memo中如果有换行符等字符,放到sql中执行是有问题的 建议用sqlserver的DTS生成的脚本去执行,在执行中加个goif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[user]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[user]GOCREATE TABLE [dbo].[user] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [name1] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [id1] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [bm1] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [bmbh] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [pass1] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [manager] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GO 高分求助:语法错误 操作符丢失 在查询表达式 用 WriteMemory 写入内存时报错。请高手进来看看。 listview控件的使用方法 我在delphi盒子上下载了Report Machine 3.0 (报表控件包) Delphi 7 中怎么安装 Spcom 控件————在线等待!!! 请教一个模糊查询的问题!!(这是送分题呀)谢谢! 紧急求救 如何取得汉字相对应的拼音第一字母? 请问深圳有D6的汉化版了买吗? 请问如何实现coolbar上的主菜单? 各位大侠,这个功能如何实现? 给我一个注册使用全局热键的实例
表的语句如下:
if not exists (select * from
dbo.sysobjects where id =
object_id(N'[dbo].
[p_ModuleInstructionTab]')
and OBJECTPROPERTY(id,
N'IsUserTable') = 1)
CREATE TABLE [dbo].
[p_ModuleInstructionTab] (
[ID] [int] IDENTITY (1,
1) NOT NULL ,
[Fid] [int] NOT NULL ,
[FInstruction] [text]
COLLATE Chinese_PRC_CI_AS NULL ,
[isused] [int] NOT NULL
,
[int1] [int] NULL ,
[int2] [int] NULL ,
[int3] [int] NULL ,
[str1] [varchar] (50)
COLLATE Chinese_PRC_CI_AS NULL ,
[str2] [varchar] (50)
COLLATE Chinese_PRC_CI_AS NULL ,
[str3] [varchar] (50)
COLLATE Chinese_PRC_CI_AS NULL ,
[img] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON
[PRIMARY]视图语句create view dbo.P_FormMenuView
as
select
a.subsysid,a.subsysname,a.showid,b.menuid,b.menucaption,b.menustruct,b.parentmenu
id from P_SubSystemTab a left join P_FormMenuConfigTab b on a.subsysid=b.subsysid
where a.useed=1
然后: try
AdoqTmp.SQL.Text := Memo1.Text;
AdoqTmp.ExecSQL;
except
ShowMessage('memo1');
end;
Memo中如果有换行符等字符,放到sql中执行是有问题的
drop table [dbo].[user]
GOCREATE TABLE [dbo].[user] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[name1] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[id1] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[bm1] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[bmbh] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[pass1] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[manager] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO