理论流程
—01.创建数据库链接(服务器,身份验证)
—02.点击链接打开数据库连接
—03.切换当前操作的数据库
—04.创建SQL 命令
—05.点击‘执行’,返回值
—06.判断
—07.关闭连接
流程图
代码流程
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using System.Data.SqlClient;
namespace WPFTest
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
//01.创建数据库链接(服务器,身份验证)
//02.点击链接打开数据库连接
//03.切换当前操作的数据库
//04.创建SQL 命令
//05.点击'执行',返回值
//06.判断
//07.关闭连接
private void Button_Click(object sender, RoutedEventArgs e)
{
//01. 首先创建高速公路
SqlConnection conn = new SqlConnection();
//02.公路的通行证
string connStr = "server=.;uid=sa;pwd=Atser123;database=TestSchool";
//03.既然有通行证了,就要附属非高速公路
conn.ConnectionString = connStr;
//04.既然有公路,且有凭证,那么先打开数据库,接下来再连接数据库
conn.Open();
//05.连接的目的是传输指令给数据库,或者说传输给数据库server,因为他认识sql t-code
string sqlTcode = $"INSERT INTO [dbo].[Classes] VALUES('{CId.Text.Trim()}','{ClassTextBox.Text.Trim()}')";
//06.执行命令的太监 他需要知道去往哪里,做什么事情 ,并且他接受了服务器的返回结果集
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn; //去往哪里
//07.做什么事情
cmd.CommandText = sqlTcode;
//08.太监开始执行命令并返回结果集
int resultNum = cmd.ExecuteNonQuery(); //明确的知道它是去做增删改的都做,那么必然会返回结果集
//09.接下来判断从服务器接收到的结果集
if (resultNum.Equals(1))
{
MessageBox.Show("增加数据成功。");
}
else
{
MessageBox.Show("增加数据失败。");
}
}
}
}
实际效果
升级版01-方法只是用来接收合适的返回值
:::info
注意点:SQL语句要形成再结尾处加分号的习惯。
:::
获取最后一次插入操作的标识值列值
SELECT @@IDENTITY