如何使用C#将行插入/更新到SQL Server
我不再忙于把一个旧的经典asp网站变成一个.NET网站。另外,我现在正在使用SQL Server 现在我有了一些旧代码如何使用C#将行插入/更新到SQL Server,c#,.net,sql,sql-server,asp-classic,C#,.net,Sql,Sql Server,Asp Classic,我不再忙于把一个旧的经典asp网站变成一个.NET网站。另外,我现在正在使用SQL Server 现在我有了一些旧代码 strsql = "select * FROM tabel WHERE ID = " & strID & " AND userid = " & struserid rs1.open strsql, strCon, 2, 3 if rs1.eof THEN rs1.addnew end if if straantal <> 0 TH
strsql = "select * FROM tabel WHERE ID = " & strID & " AND userid = " & struserid
rs1.open strsql, strCon, 2, 3
if rs1.eof THEN
rs1.addnew
end if
if straantal <> 0 THEN
rs1("userid") = struserid
rs1("verlangid") = strID
rs1("aantal") = straantal
end if
rs1.update
rs1.close
strsql=“从选项卡中选择*,其中ID=“&strID&”和userid=“&struserid
rs1.打开strsql、strCon、2、3
如果rs1.eof那么
rs1.addnew
如果结束
如果straantal为0,则
rs1(“userid”)=struserid
rs1(“verlangid”)=strID
rs1(“安塔尔”)=斯特拉安塔尔
如果结束
rs1.1更新
rs1.close
我想在SQL Server中使用它。更新方式。我该怎么做
- 如何检查datareader是否为EOF/EOL
- 如果是EOF/EOL,如何插入行id
- 如何使用一个函数更新行或删除行
using (var connection = new SqlConnection("Your connection string here"))
{
connection.Open();
using (var command = new SqlCommand("SELECT * FROM xyz ETC", connection))
{
// Process results
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
int userId = (int)reader["UserID"];
string somethingElse = (string)reader["AnotherField"];
// Etc, etc...
}
}
}
// To execute a query (INSERT, UPDATE, DELETE etc)
using (var commandExec = new SqlCommand("DELETE * FROM xyz ETC", connection))
{
commandExec.ExecuteNonQuery();
}
}
您将注意到使用包装在中的各种元素,这是因为您需要在完成后释放内存/连接。这应该能很快回答您的问题,但正如其他人(包括我)所建议的,我会研究实体框架,因为它更强大,但有一个学习曲线附在它上面 如果要使用原始SQL命令,可以尝试以下方法
using (SqlConnection cnn = new SqlConnection(_connectionString))
using (SqlCommand cmd = new SqlCommand())
{
cnn.Open();
cmd.Connection = cnn;
// Example of reading with SqlDataReader
cmd.CommandText = "select sql query here";
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
myList.Add((int)reader[0]);
}
}
// Example of updating row
cmd.CommandText = "update sql query here";
cmd.ExecuteNonQuery();
}
您可以使用SQL存储过程进行更新。并通过C#调用此存储过程 创建过程[dbo]。[xyz_更新] ( @帕拉1 @帕拉2 ) 作为 开始 更新表名 设置Fieldname1=@para1, Set Feildname2=@para2
结束阅读有关SqlDataAdapter或ADO.Net的一般信息