1
現在,我可以通過HTTPpost方法從我的網站執行腳本。將參數傳遞給sql腳本
string scriptDirectory = "c:\\Users\\user\\Documents";
string sqlConnectionString = "Integrated Security=SSPI;" +
"Persist Security Info=True;Data Source=ARES";
DirectoryInfo di = new DirectoryInfo(scriptDirectory);
FileInfo[] rgFiles = di.GetFiles("*.sql");
foreach (FileInfo fi in rgFiles)
{
FileInfo fileInfo = new FileInfo(fi.FullName);
string script = fileInfo.OpenText().ReadToEnd();
SqlConnection connection = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(connection));
server.ConnectionContext.ExecuteNonQuery(script);
connection.Close();
}
Atm腳本正在創建一個新的數據庫(數據庫不是動態的)。我想傳入網站用戶輸入的參數,然後將其傳遞到sql腳本中。基本上我希望他們選擇要創建的數據庫的名稱。
SQL命令的正確位置在腳本的開頭。
CREATE DATABASE [This is where the name will be passed to]
GO
USE[This is where the name will be passed to]
編輯:
我有這樣的代碼
SqlCommand createDbCommand = new SqlCommand();
createDbCommand.CommandText = "CREATE DATABASE [@DataBase]";
createDbCommand.Parameters.Add("@DataBase", SqlDbType.Text);
createDbCommand.Parameters["@DataBase"].Value = client.HostName;
我必須手動現在進入我的腳本的頂部呢?
您能舉一個關於如何使用Parameters.Add的例子,具體來說就是您將作爲展示位置持有者輸入到腳本中的內容。 – zms6445 2013-03-08 21:31:54
我已經更新了我的答案。 – Dai 2013-03-08 21:38:09
我已經添加了一些代碼。我只需要知道除了打開文件並手動修改文件以輸入該命令之外,是否還有其他方法。 – zms6445 2013-03-08 21:38:16