C#与数据库连接简单测试
效果展示
数据库代码
- 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();
- }
- }
- }
- }
C#与数据库连接简单测试的更多相关文章
- 利用EasyMock生成数据库连接简单测试示例
package demo.mock; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Re ...
- TODO:Golang UDP连接简单测试慎用Deadline
TODO:Golang UDP连接简单测试慎用Deadline UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interco ...
- .net orm比较之dapper和Entity Framework6的简单测试比较
.net orm比较之dapper和Entity Framework6的简单测试比较
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试 系列目录 我想测试EF在一百万条数据下的显示时间! ...
- ORACLE 数据库简单测试
ORACLE 数据库简单测试 操作系统:Windows 7 – ORACLE:oracle database 10.2.0.4 一.目的 测试 启动监听程序.数据库 非同一个用户的情况,用户是否可以 ...
- Javascript的简单测试环境
在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很好的例子,既让我们得到了一个好用的小工具 ...
- struts2+hibernate+spring注解版框架搭建以及简单测试(方便脑补)
为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...
- struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)
为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...
- [20190423]简单测试latch nowilling等待模式.txt
[20190423]简单测试latch nowilling等待模式.txt --//我对这个问题的理解就是如果参数willing=0,表示无法获取该latch,直接退出,再寻找类似的latch.--/ ...
随机推荐
- axios 处理并发请求
//同时发起多个请求时的处理 axios.all([get1(), get2()]) .then(axios.spread(function (res1, res2) { // 只有两个请求都完成才会 ...
- CPC23-4-K. 喵喵的神数 (数论 Lucas定理)
喵喵的神∙数 Time Limit: 1 Sec Memory Limit: 128 MB Description 喵喵对组合数比較感兴趣,而且对计算组合数很在行. 同一时候为了追求有后宫的素养的生活 ...
- jQuery.delegate() 函数详解
delegate()函数用于为指定元素的一个或多个事件绑定事件处理函数. 此外,你还可以额外传递给事件处理函数一些所需的数据. 即使是执行delegate()函数之后新添加的元素,只要它符合条件,绑定 ...
- 把质量控制工作往前推进(1)——安装sonarqube
曾经关注点一直在怎么提高应用程序的质量,没太在意代码级别的质量.近期由于某些因素的推动,须要关注到代码级别的质量去,把质量工作尽量往前推,也符合质量控制的原则. 试用了一下sonarqube(老版本 ...
- 去除List中重复的元素
今天碰到一个问题,想了好久都没有明白,网上找了一个文章,先收藏起来,有空了一定要想明白 用Set ,倘若list里边的元素不是基本数据类型而是对象,那么请覆写Object的boolean equals ...
- NSAttributedString设置行间距,间接设置了uilabel的行间距
假设有UIlabel实例:_testLabel NSString * testString = @"明月当空,隐隐约约听到低吟,似有若无.面对大千世界的奢华糜烂,还不如在这一方小城,静静品一 ...
- PHP面试题及答案解析(2)—PHP面向对象
1. 写出 php 的 public.protected.private 三种访问控制模式的区别. public:公有,任何地方都可以访问protected:继承,只能在本类或子类中访问,在其它地方不 ...
- springboot学习(一) spring-boot是什么
1.简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 2.主要优点 ① 使配置变得简单 ② 使编码变得简单 ③ 使 ...
- Windows 清除系统垃圾文件
@echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._m ...
- ws 无法热替换的问题
这个坑自己踩过并且第二次就记录一下,因为一直习惯用ws, 使用热部署的时候发现无法自动同步热更新,找了很多方法,具体解决方式如下: webstorm默认保存在临时文件夹,根据下面路径将默认勾选项去除即 ...