SQL 使用ODBC 連結 資料庫問題 |
答題得分者是:timhuang
|
Can Jason
一般會員 發表:6 回覆:4 積分:2 註冊:2005-06-22 發送簡訊給我 |
使用 ODBC 連結
var SetComp:String;
begin
SetComp:='2005';
ADOConnection1.Provider:='MSDASQL.1';
ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password=0000;Persist Security Info=True;User ID=sa;Data Source=Sha'; SQLStr:='IF EXISTS (select name FROM master.dbo.sysdatabases WHERE name = N''+SetComp+'') print ''database '+Setcomp+' exists'''+
' else'+
' begin '+
' print ''database '+SetComp+' not exists'''+
' CREATE DATABASE ['+SetComp+']'+
' end';
ADOQuery1.SQL.Clear;
ADOQuery1.sql.add(SQLstr);
ADOQuery1.ExecSQL;
第1次SetComp不存在時 create ok 沒問題
第2次已存在 SetComp 進入系統有錯誤訊息
反之不使用ODBC連結
ADOConnection1.Provider:='SQLOLEDB.1';
ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=0000;Persist Security Info=True;User ID=sa;Data Source='+ServerName;
就沒有問題 知道問題在 SQLStr 不知如何解? 發表人 - Can Jason 於 2005/07/26 08:38:34
|
likush
高階會員 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 應改為這樣吧:
SQLStr:='IF EXISTS (select name FROM master.dbo.sysdatabases WHERE name = N'''+SetComp+''') print ''database '+Setcomp+' exists'''+ ' else'+ ' begin '+ ' print ''database '+SetComp+' not exists'''+ ' CREATE DATABASE ['+SetComp+']'+ ' end'; |
Can Jason
一般會員 發表:6 回覆:4 積分:2 註冊:2005-06-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |