use*_*084 3 c# sql-server asp.net visual-studio
如何将PolicyID数据库返回的值存储在整数变量中C#?
我正在使用SQL Server 2005.
System.Data.SqlClient.SqlConnection dataConnection = new SqlConnection();
dataConnection.ConnectionString =
@"Data Source=JAGMIT-PC\SQLEXPRESS;Initial Catalog=SumooHAgentDB;Integrated Security=True";
System.Data.SqlClient.SqlCommand dataCommand = new SqlCommand();
dataCommand.Connection = dataConnection;
dataCommand.CommandText = ("select PolicyID from Policies where PolicyID=(select max(PolicyID) from Policies)");
dataConnection.Open();
dataCommand.ExecuteNonQuery();
dataConnection.Close();
Run Code Online (Sandbox Code Playgroud)
请建议.
谢谢.
使用SqlCommand.ExecuteScalar方法,如下所示:
command.CommandText = @"select max(PolicyID) from Policies";
int maxPolicyId = (int)command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
此外,如果您这样做是为了插入具有唯一ID的新Policy行,则不能这样做,因为完全可能在select和insert之间插入不同的Policies行.
而是使用IDENTITY列或UNIQUEIDENTIFIER列.
编辑:要在您的代码中使用它,请执行以下操作:
int maxId;
using (SqlConnection dataConnection = new SqlConnection(@"Data Source=JAGMIT-PC\SQLEXPRESS;Initial Catalog=SumooHAgentDB;Integrated Security=True"))
using (SqlCommand dataCommand =
new SqlCommand("select max(PolicyID) from Policies", dataConnection)) {
dataConnection.Open();
maxId = Convert.ToInt32(dataCommand.ExecuteScalar());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22542 次 |
| 最近记录: |