A. VFP中能怎麼實現遠程創建SQL server 2000的資料庫或表
SQLSTRINGCONNECT( ) 函數
用連接串建立和數據源的連接。
SQLSTRINGCONNECT([lShared] | [cConnectString [, lSharable]])
示例
以下示例展示如何不帶數據源名地調用 SQLSTRINGCONNECT( ) 函數。
lcDSNLess="driver = SQL Server;server=<servername>;uid=<userid>;pwd=<password>"
-或者-
lcDSNLess="driver = {SQL Server};server=<servername>;uid=<userid>;pwd=<password>"
-或者-
lcDSNLess="DRIVER = {SQL Server};" ;
+ "SERVER=<servername>;" ;
+ "UID=<userid>;" ;
+ "PWD=<password>;" ;
+ "DATABASE=PUBS;" ;
+ "WSID=<machine name or userid>;" ;
+ "APP=MicroX(R) Sample App"
lnConnHandle=SQLSTRINGCONNECT(m.lcDSNLess)
創建資料庫,先可以連接master資料庫,再進行創建。建新表下面參考:
TEXT TO strSQL NOSHOW PRETEXT 7
CREATE TABLE [dbo].[TabMaterialSellDetail] (
[detailId] [int] PRIMARY KEY NOT NULL ,
[detailSn] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMaterialId] [int] NULL ,
[detailSellCount] [numeric](18, 2) NULL ,
[detailSellPrice] [numeric](18, 6) NULL ,
[detailSellMoney] [numeric](18, 2) NULL ,
[detailDate] [datetime] NULL ,
[detailStorage] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo1] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo2] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo3] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo4] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo5] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo6] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo7] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo8] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo9] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo10] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailMemo] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[detailSort] [int] NULL
) ON [PRIMARY]
ENDTEXT
SQLEXEC(con, strSQL) &&con是連接句柄
B. 在VFP中怎麼樣用SQL語言創建表啊。我怎樣寫都是語法錯誤啊,誰幫我下吧。
在VFP中上述語句共有兩個問題1.」寢室管理」後的「(」不是半形的,所以提示錯誤。2.將「(」改為半形後可以創建表,但系統仍提示「該表在非.dbc表中不可用」,主要是針對primaty
key和not
null而言,如在創建該表之前先創建一個資料庫即可,如create
database
aaa,再運行上述語句即可。