我想在记录之间插入新记录,并将所有后续记录更新为1 像
1 aaa 450
2 bbb 550
3 ccc 780
4 ddd 745
我想在第3位插入记录,在表格中我会将id = 3,然后下一条记录将以+1更新。
就像我插入3然后没有。 3记录将是4和没有。 4记录将是5
我是通过SQL Server 2008中的这些代码完成的。
UPDATE Testing
SET id = id + 1
WHERE id >= 3
INSERT INTO Testing (id, CName, Value)
VALUES (3, 'ddd', 589)
SELECT *
FROM Testing
ORDER BY id ASC
它正在SQL SeErver 2008中工作
我希望在asp.net应用程序中发生这种情况,这就是我疯了。
请帮助我!!
答案 0 :(得分:1)
您的网络应用程序中的C#代码
string ConnectionString = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(ConnectionString))
{
//Create the SqlCommand object
SqlCommand cmd = new SqlCommand("spAddNumber", con);
//Specify that the SqlCommand is a stored procedure
cmd.CommandType = System.Data.CommandType.StoredProcedure;
//Add the input parameters to the command object
cmd.Parameters.AddWithValue("@id", "3");
cmd.Parameters.AddWithValue("@CName", "ddd");
cmd.Parameters.AddWithValue("@Value", "589");
//Open the connection and execute the query
con.Open();
cmd.ExecuteNonQuery();
}
和你的存储过程。添加此StoredProcedure时检查CName的长度
Create Procedure spAddNumber
@id int,
@CName nvarchar(10),
@Value int
as
Begin
UPDATE Testing SET id = id + 1 WHERE id >= 3
insert into Testing (id,CName ,Value ) values (@id ,@CName ,@Value )
End
如果您打算直接使用Sqlcommand
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("Your Query Here", connection);
cmd.ExecuteNonQuery();
}