zoukankan      html  css  js  c++  java
  • C#与数据库连接简单测试

    效果展示

    1

    数据库代码

    create database OneDb
    go
    USE OneDb;
    GO
    CREATE TABLE classify   --分类表
    (
        id int primary key identity(1,1),
        name nvarchar(20) not null
    )
    
    GO
    CREATE TABLE product  --产品表
    (
        id int primary key identity(1,1),
        name nvarchar(20) not null,
        price decimal,
        number int default 0,
        c_id int FOREIGN KEY references classify(id)    
    )
    GO
    
    --添加分类测试数据
    insert into classify(name) values('图书');
    insert into classify(name) values('家电');
    insert into classify(name) values('服饰');
    
    --添加商品测试数据
    insert into product(name,price,number,c_id) values('arduino基础版',168,50,1);
    insert into product(name,price,number,c_id) values('arduino提高版',268,50,1);
    insert into product(name,price,number,c_id) values('arduino至尊版',468,50,1);
    insert into product(name,price,number,c_id) values('比基尼',68,50,3);
    insert into product(name,price,number,c_id) values('虎皮裙',168,50,3);
    insert into product(name,price,number,c_id) values('长靴',368,50,3);
    insert into product(name,price,number,c_id) values('电冰箱',3268,50,2);
    insert into product(name,price,number,c_id) values('烘干机',2268,50,2);
    GO
    
    
    select * from classify;
    go
    select * from product order by c_id;
    go

    c# 代码form1.cs

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    
    namespace AdoTestForm
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                comboBox1.Text = "全部分类";
                //确定数据库连接字符串
                string constr = "server=QT-201303030913;database=OneDb;uid=sa;pwd=daxiang";
                //实例化一个数据库连接的对象
                SqlConnection conn = new SqlConnection(constr);
                //打开数据库连接
                conn.Open();
                //实例化SqlCommand对象(该对象主要用于执行Sql命令)
                SqlCommand cmd = new SqlCommand();
                //指定要执行的SQL语句或者存储过程名称
                cmd.CommandText = "select id,name from classify";
                //确定上面为CommandText类型所赋的值是SQL语句还是存储过程名称
                cmd.CommandType = CommandType.Text;
                //指定该命令所用的数据库连接
                cmd.Connection = conn;
                //声明一个SqlDataReader(数据流对象),并将cmd执行后的结果交给它
                SqlDataReader sdr = cmd.ExecuteReader();
    
                //循环整个SqlDataReader对象,将里面的值取出来添加到ListBox中
                //sdr.Read()的作用是前进到下一条记录,这也说明SqlDataReader中的数据是一行行放置的
                while (sdr.Read())
                {
                    //将数据流中的第一列的值添加到listBox1的项中
                    comboBox1.Items.Add(sdr[0]+"-->"+sdr["name"]);
                    //上面这句也可以用下面这句代替,sdr["name"]表示当前sdr的name列的值
                    //comboBox1.Items.Add(str["name"]);
                }
                //关闭数据流
                sdr.Close();
                //关闭数据库连接
                conn.Close();
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (comboBox1.Text != "全部分类")
                {
                    string constr = "server=QT-201303030913;database=OneDb;uid=sa;pwd=daxiang";
                    //实例化一个数据库连接的对象
                    SqlConnection conn = new SqlConnection(constr);
                    //打开数据库连接
                    conn.Open();
                    //实例化SqlCommand对象(该对象主要用于执行Sql命令)
                    SqlCommand cmd = new SqlCommand();
    
                    //获取分类的id
                    //int i = comboBox1.Text.IndexOf("-->");//获取字符串中-->所在位置索引
                    string id = comboBox1.Text.Substring(0, 1);//只获取-->之前的字符
    
                    //指定要执行的SQL语句和存储过程名字
                    cmd.CommandText = "select * from product where c_id=" + id;
                    //去顶上面的CommandText属性所赋值到底是sql还是存储过程名称
                    cmd.CommandType = CommandType.Text;
                    //指定该命令所用的数据库连接
                    cmd.Connection = conn;
                    //声明一个SqlDataReader(数据流对象),并将cmd执行后的结果交给它
                    SqlDataReader sdr = cmd.ExecuteReader();
    
                    //清空listBox中的项
                    listBox1.Items.Clear();
    
                    //循环整个SqlDataReader对象,将里面的值取出来添加到ListBox中
                    //sdr.Read()的作用是前进到下一条记录,这也说明SqlDataReader中的数据是一行行放置的
                    while (sdr.Read())
                    {
                        //将数据流中的第一列的值添加到listBox1的项中
                        listBox1.Items.Add(sdr["name"]);
    
                    }
                    //关闭数据流
                    sdr.Close();
                    //关闭数据库连接
                    conn.Close();
                }
            }
    
            private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (listBox1.SelectedItems.Count > 0)
                {
                    string constr = "server=QT-201303030913;database=OneDb;uid=sa;pwd=daxiang";
                    //实例化一个数据库连接的对象
                    SqlConnection conn = new SqlConnection(constr);
                    //打开数据库连接
                    conn.Open();
                    //实例化SqlCommand对象(该对象主要用于执行Sql命令)
                    SqlCommand cmd = new SqlCommand();
    
                    //获取分类的id
                    //int i = comboBox1.Text.IndexOf("-->");//获取字符串中-->所在位置索引
                    string id = comboBox1.Text.Substring(0, 1);//只获取-->之前的字符
    
                    //指定要执行的SQL语句和存储过程名字
                    cmd.CommandText = "select * from product where c_id=" + id;
                    //去顶上面的CommandText属性所赋值到底是sql还是存储过程名称
                    cmd.CommandType = CommandType.Text;
                    //指定该命令所用的数据库连接
                    cmd.Connection = conn;
                    //声明一个SqlDataReader(数据流对象),并将cmd执行后的结果交给它
                    SqlDataReader sdr = cmd.ExecuteReader();
    
    
                    //循环整个SqlDataReader对象,将里面的值取出来添加到ListBox中
                    //sdr.Read()的作用是前进到下一条记录,这也说明SqlDataReader中的数据是一行行放置的
                    while (sdr.Read())
                    {
                        if (sdr["name"].ToString() == listBox1.SelectedItem.ToString())
                        {
                            lbl_name.Text = sdr["name"].ToString();
                            lbl_price.Text = sdr["price"].ToString();
                            lbl_number.Text = sdr["number"].ToString();
                            lbl_c_id.Text = comboBox1.Text;
                        }
                    }
                    //关闭数据流
                    sdr.Close();
                    //关闭数据库连接
                    conn.Close();
                }
            }
        }
    }
  • 相关阅读:
    "Blessing of Dimisionality: High Dimensional Feature and Its Efficient Compression for Face Verification"学习笔记
    java删除目录下符合条件的文件
    java nio buffer读取数据乱码问题
    MySql 存储过程实例(附完整注释)
    mysql truncate、delete与drop区别
    Java的位运算符—与(&)、非(~)、或(|)、异或(^)
    mysql 用户管理和权限设置
    Sublime Text3 安装Markdown
    session 超时设置
    Nginx配置详解
  • 原文地址:https://www.cnblogs.com/Mysterious/p/3419275.html
Copyright © 2011-2022 走看看