数据库的c#实现 《添加数据》

1.在SQL中,先创建数据库和表

create  database Mycar;

use Mycar;

create table Car
(
    Id int primary key identity(1,1), --设置编号,从1开始自增,每次加1  
	Title nvarchar(128) not null,  --设置车名不能为空
	Speed  int default(0), --最大速度
	info ntext  --详细信息
)

insert into Car(Title,Speed,info) values 
('BYD',130,'比亚迪')

insert into Car(Title,Speed,info)
select 'BMW',150,'宝马' union
select 'CYJ',180,'cyj'

2.studio中实现,连接数据库,注意添加命名空间

        private void btnConnection_Click(object sender, EventArgs e)
        {
            //创建连接对象,指定连接字符串
            SqlConnection conn = new SqlConnection("Data Source=DESKTOP-BEUJ3C4;Initial Catalog=MyCar;User ID=sa;Password =2323010676;");


            conn.Open();
            MessageBox.Show("打开数据库成功,状态"+conn.State );


            conn.Close();
            MessageBox.Show("关闭数据库成功");
        }


3.设计界面,并添加事件,并了解数据库两个打开关闭的方式

 private void btnAdd_Click(object sender, EventArgs e)
        {
            //用usring在括号内结束后,关闭数据库
            using (SqlConnection conn = new SqlConnection("Data Source=DESKTOP-BEUJ3C4;Initial Catalog=MyCar;User ID=sa;Password =2323010676;"))
            {
                conn.Open();

                //新建命令
                //将执行的sql,利用占位符,将输入到txtName中的Text信息替换为占位符位置的信息
     String sql = String.Format("insert into Car(Title,Speed,info) values ('{0}',{1},'{2}')",txtName.Text,txtSpeed.Text,txtInfo.Text);
                
                //创建命令对象,前面一个表示执行的语句,后面一个表示执行语句需要连接的数据库
                SqlCommand cmd = new SqlCommand(sql,conn);


                //执行,返回影响行数
                int rows = cmd.ExecuteNonQuery();
                if(rows > 0)
                {
                    MessageBox.Show("新增成功!");
                }
            }
        }

4.上面添加的是用的占位符,不安全,可以使用参数输入,更加安全

 using (SqlConnection conn = new SqlConnection("Data Source=DESKTOP-BEUJ3C4;Initial Catalog=MyCar;User ID=sa;Password =2323010676;"))
            {
                conn.Open();

                //这里用参数代替占位符,[Title]中的[]表示防止重名的发生
                String sql = String.Format("insert into Car([Title],[Speed],[info]) values (@Name,@Speed,@Info)");
                
                //创建命令对象,前面一个表示执行的语句,后面一个表示执行语句需要连接的数据库
                SqlCommand cmd = new SqlCommand(sql,conn);

                //指定参数
                cmd.Parameters.Add(new SqlParameter("@Name",txtName.Text));
                cmd.Parameters.Add(new SqlParameter("@Speed", txtSpeed.Text));
                cmd.Parameters.Add(new SqlParameter("@Info", txtInfo.Text));

                //执行,返回影响行数
                int rows = cmd.ExecuteNonQuery();
                if(rows > 0)
                {
                    MessageBox.Show("新增成功!");
                }
            }






猜你喜欢

转载自blog.csdn.net/qq_42036616/article/details/80187800