我正在研究WinForms桌面应用程序。在这个应用程序上,我必须对SQL Server数据库进行一些更新。我可以使用表参数
的存储过程来完成此操作comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.AddWithValue("@changes", changes.ToTable(false, "ItemNo", "Info"));
并执行一次程序,或者使用循环执行多次过程并使用字符串参数。
for (...)
{
...
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.AddWithValue("@Item", "Item 1"));`
comm.Parameters.AddWithValue("@Info", "Info 1"));`
int i = comm.ExecuteNonQuery();
...
}
这是最好的做法吗?
答案 0 :(得分:1)
即使您执行简单的<!DOCTYPE html>
<html>
<body>
<script>
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.com/en_US/messenger.Extensions.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));
window.extAsyncInit = function() {
// the Messenger Extensions JS SDK is done loading
alert("This alert isnt being executed in webview or chrome
mobile");
MessengerExtensions.getUserID(function success(uids) {
// User ID was successfully obtained.
var psid = uids.psid;
}, function error(err, errorMessage) {
// Error handling code
});
};
</script>
<h1>
Basic Text
</h1>
</body>
</html>'
操作,我也会使用第一种方法并将所有数据作为表类型变量发送。
因为在这种情况下,您可以通过使用表类型变量执行UPDATE
来执行update-join
,并且可以一次更新多个记录。至少,您将保存对数据库的多个调用。