我有這個程序餵養我的數據。我拿這個數據(字符串)並解析它,以便不同的字段可以進入相應的數據庫表列。我可以解析字符串,但我找不到正確的函數或方法將它們發送到數據庫。這是我第二次使用sql server或數據庫。我已經做了插入這樣將分析後的字符串傳輸到sql server數據庫
MyCommand.CommandType = System.Data.CommandType.Text; MyCommand.CommandText = "INSERT INTO TimeStampTable(ID, TimeStamp) VALUES ('24', 'sep 13, 2009')";
據我所知,唯一的CommandType允許文本或存儲過程。在這種情況下,我想要插入正在被解析的字符串。
string teststring = dtString;
string[] result = teststring.Split(',', ' ', ':', '=');
Console.WriteLine("The parsed string looks like this:");
foreach (string word in result)
{
Console.WriteLine(word);
}
這是我的代碼,它解析我的傳入字符串。所以我收到姓名地址zip狀態等我想名稱去col1,地址去col2等我認爲這樣做的理想方法是將我的循環轉換爲這樣的東西
foreach (string word in result)
{
SqlDatasource.InsertCommand=Insert into Tablename col1 col2 col3(word);
}
有沒有人有任何建議?
非常感謝賈斯汀,這對我來說是訣竅,我看到我的表中正確的列中解析的數據。我收到的數據實際上與我的專欄和可信來源的順序相同。不過,我很好奇這樣做調用存儲過程。它會有所作爲嗎?我感謝您的幫助。 – Rick 2012-03-01 20:08:18
使用存儲過程可以更好地保護你免受SQL注入的攻擊,並且它會開始清理你的代碼(代碼應該看起來像代碼,SQL應該看起來像SQL,越接近這種分離,IMO越好) 。此外,通過使用存儲過程,您可以關閉數據庫,使其不允許直接SQL。這將允許更好的安全控制(您可以允許用戶/角色只訪問特定的sprocs),而不是隻允許任何SQL進入系統 – 2012-03-01 20:12:33