C#窗體與sql數據庫的連接


創建一個數據庫
create database data1220      --創建數據庫
go                            --go代表后面的語句是在前面語句執行的基礎上進行的
use data1220                  --確定操作數據庫對象
go
create table users            --給數據庫添加一個表
(
code int identity(1,1) primary key,   --定義一個自增長列,並設為主鍵     
name varchar(20) not null,         --姓名列,不許為空
pwd varchar(20) not null           --密碼列,不許為空
)
insert into users values('zhangsan', 111)  --給數據庫中的users表,添加數據
insert into users values('lisi' ,222)
insert into users values('wangwu',333)
insert into users values('zhaoliu',444)

select *from users    --查詢數據
delete from users

image

通過C#winform程序訪問數據庫數據

用到的命名空間和變量類型:

using System.Data.SqlClient;

SqlConnection;數據庫連接類

SqlCommand;數據庫操作類

SqlDataReader:讀取

步驟:

1.建一個登錄窗體

image

2.login按鈕上觸發事件:連接數據庫函數

//按登錄按鈕,核對輸入的數據
        private void button1_Click(object sender, EventArgs e)
        {            
            //后面拼寫查詢語句要用到窗體的信息
            string user = textBox1.Text;
            string pwd = textBox2.Text;
            //創建數據庫連接類的對象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            //將連接打開
            con.Open();
            //執行con對象的函數,返回一個SqlCommand類型的對象
            SqlCommand cmd = con.CreateCommand();
            //把輸入的數據拼接成sql語句,並交給cmd對象
            cmd.CommandText = "select*from users where name='"+user+"'and pwd='"+pwd+"'";

            //用cmd的函數執行語句,返回SqlDataReader對象dr,dr就是返回的結果集(也就是數據庫中查詢到的表數據)
            SqlDataReader dr = cmd.ExecuteReader();
            //用dr的read函數,每執行一次,返回一個包含下一行數據的集合dr,在執行read函數之前,dr並不是集合
            if(dr.Read())
            {
                //dr[]里面可以填列名或者索引,顯示獲得的數據
                MessageBox.Show(dr[1].ToString());
            }
           //用完后關閉連接,以免影響其他程序訪問
            con.Close();
        }

image                 

往數據庫添加數據

//添加數據
        private void button2_Click(object sender, EventArgs e)
        {
            string user = textBox1.Text;
            string pwd = textBox2.Text;
            //創建數據庫連接類的對象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            con.Open();
            //執行con對象的函數,返回一個SqlCommand類型的對象
            SqlCommand cmd = con.CreateCommand();
            //拼寫語句
            cmd.CommandText = "insert into users values('"+user+"','"+pwd+"')";
            //增刪改用ExecuteNonQuery,會返回一個整型數字
            int count = cmd.ExecuteNonQuery();
            if (count > 0)
            {
                MessageBox.Show("添加成功");
            }
            else
            {
                MessageBox.Show("添加失敗");
            }
        }

image

修改數據

//根據編號修改數據
        private void button4_Click(object sender, EventArgs e)
        {
            string user = textBox1.Text;
            string pwd = textBox2.Text;
            string code=textBox3.Text;
            //創建數據庫連接類的對象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            con.Open();
            //執行con對象的函數,返回一個SqlCommand類型的對象
            SqlCommand cmd = con.CreateCommand();
            //拼寫語句
            cmd.CommandText = "update users set name='"+user+"',pwd='"+pwd+"' where code="+code;
            //增刪改用ExecuteNonQuery,會返回一個整型數字
            int count = cmd.ExecuteNonQuery();
            if (count > 0)
            {
                MessageBox.Show("修改成功");
            }
            else
            {
                MessageBox.Show("修改失敗");
            }
            con.Close();
        }

imageimage

刪除數據

private void button3_Click(object sender, EventArgs e)
        {
            string code = textBox3.Text;
            //創建數據庫連接類的對象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            con.Open();
            //執行con對象的函數,返回一個SqlCommand類型的對象
            SqlCommand cmd = con.CreateCommand();
            //拼寫語句
            cmd.CommandText ="delete from users where code=" + code;
            //增刪改用ExecuteNonQuery,會返回一個整型數字
            int count = cmd.ExecuteNonQuery();
            if (count > 0)
            {
                MessageBox.Show("刪除成功");
            }
            else
            {
                MessageBox.Show("刪除失敗");
            }
            con.Close();
        }

image                    image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM