我需要快速编写代码来插入/更新SQL数据。在经典的ASP / VBScript中,我可以这样做:
Set rs = Server.CreateObject("adodb.Recordset")
sql = "SELECT * FROM _table WHERE id=" & id
rs.Open sql, cn, 1, 3
If rs.recordcount = 0 Then
rs.AddNew
End If
rs("data") = data
rs.Update
rs.Close
此代码段的最近C#端口是什么?谢谢!
答案 0 :(得分:3)
假设MS-SQL:
using (SqlConnection conn = new SqlConnection("Connection String"))
using (SqlCommand comm = new SqlCommand("INSERT INTO MyTable (Name, Age) VALUES (@name, @age)", conn))
{
conn.Open();
comm.Parameters.AddWithValue("@name", "Adam");
comm.Parameters.AddWithValue("@age", 25);
comm.ExecuteNonQuery();
}
连接字符串显然需要充实,参数化的SQL需要确认,但这是你需要的开始。
您无需担心关闭,因为using
语句会为您执行此操作。
更新:不太了解经典ASP,我应该澄清这段代码只进行插入而不是更新,如果需要进行更新,请更改SQL以使用更新语法
答案 1 :(得分:2)
希望这能让你开始。引用ADODB类:
ADODB.Connection cn = new ADODB.Connection();
cn.Open("Provider=etc...", null, null, 0);
ADODB.Recordset rs = new ADODB.Recordset();
String sql = "SELECT * FROM _table WHERE id=" & id;
rs.Open(sql, cn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, -1);
if (rs.RecordCount == 0)
rs.AddNew;
rs("data") = data;
rs.Update();
rs.Close();
cn.Close();