c#执行sql语句insert一条新数据,如何获取新数据的自增主键并填入textbox1
时间: 2024-12-16 19:30:23 浏览: 20
在C#中,使用ADO.NET执行SQL插入语句后,通常会涉及到数据库操作后的结果集获取和自增主键的保存。这里有一个基本的例子:
```csharp
using System.Data.SqlClient;
// ...
string connectionString = "your_connection_string_here"; // 替换为你的数据库连接字符串
int identityColumn = 0; // 初始化自增字段初始值
try
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
string sqlInsert = "INSERT INTO your_table_name (column1, column2) VALUES (@value1, @value2)";
SqlCommand command = new SqlCommand(sqlInsert, connection);
// 设置参数
command.Parameters.AddWithValue("@value1", textBox1.Text); // 假设textBox1的内容是要插入的数据之一
connection.Open();
int rowsAffected = command.ExecuteNonQuery(); // 执行插入操作
if (rowsAffected > 0)
{
// 如果插入成功,使用SCOPE_IDENTITY()获取新的自增主键
if (command.Connection.SupportsIdentityInsert)
{
command.CommandText = "SELECT SCOPE_IDENTITY()";
identityColumn = (int)command.ExecuteScalar();
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error executing query: {ex.Message}");
}
// 将自增主键填入textBox1或其他需要的地方
textBox1.Text = identityColumn.ToString();
```
这个例子假设你的表有自增ID,并且数据库支持`IDENTITY_INSERT`功能。如果在非自动增长列插入数据后想要获取自增主键,你需要根据实际情况调整SQL命令。
阅读全文