6w学习笔记

vc控件的输入输出

单选按钮

当单击 RadioButton 控件时,其 Checked 属性设置为 true,并且调用 Click 事件处理程序。当 Checked 属性的值更改时,将引发 CheckedChanged 事件。如果 AutoCheck 属性设置为 true(默认值),则当选择单选按钮时,将自动清除该组中的所有其他单选按钮

输入

this.rdb_in.Checked = (bool)sqlDataReader["inorout"];

this.rdb_out.Checked = !(bool)sqlDataReader["inorout"];

输出

sqlConnection.Open();

if(this.rdb_Male.Checked==true)

string str = "update tb_book set inorout=1 where No=09187756";

else

string str = "update tb_book set inorout=0 where No=09187756";

日历控件

输入         this.dtp_BirthDate.Value(DateTime)sqlDataReader["publishDate"];

输出

sqlCommand1.Parameters.AddWithValue("@date", this.data.tostring);

文本框

输入this.txb_No.Text = sqlDataReader["No"].ToString();

输出sqlCommand1.Parameters.AddWithValue("@No", client.No);

网格视图控件 DataGridView

下拉列表控件ComboBox

输入 this.cmb_stock.SelectedValue = (int)sqlDataReader["stockNo"];

this.cmb_stock.DataSource = stockTable;
this.cmb_stock.DisplayMember = "Name";
this.cmb_stock.ValueMember = "No";

输出sqlCommand1.Parameters.AddWithValue("@stockNo",this.cmb_stock.SelectedValue.toString());

示例

建库语句

USE master;

IF DB_ID('EduBaseDemo') IS NOT NULL

BEGIN

ALTER DATABASE EduBaseDemo

SET SINGLE_USER

WITH ROLLBACK IMMEDIATE;

DROP DATABASE EduBaseDemo;

END

CREATE DATABASE EduBaseDemo

ON

(NAME='Datafile'

,FILENAME='C:\DataFile.mdf')

LOG ON

(NAME='Logfile'

,FILENAME='C:\Logfile.ldf');

GO

USE EduBaseDemo;

--创建表;

----班级表

CREATE TABLE tb_stock

(No

INT

NOT NULL

PRIMARY KEY

,Name

VARCHAR(20)

NOT NULL)

INSERT tb_stock

(No,Name)

VALUES

(1,'A馆')

,(2,'B馆')

,(3,'C馆')

,(4,'D馆');

----学生表;

CREATE TABLE tb_book

(No

CHAR(10)

NOT NULL

PRIMARY KEY

,Name

VARCHAR(20)

NOT NULL

,inorout

BIT

NOT NULL

,publishDate

DATE

NOT NULL

,stockNo

INT

NOT NULL

,Speciality

VARCHAR(100)

NULL);

INSERT tb_book

(No,Name,inorout,publishDate,stockNo,Speciality)

VALUES

('09187756','内科学',1,'1991-10-15',2,'收藏');

select * from tb_book

select  * from tb_stock

  

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; //包含访问SQL Server所需的各类对象; namespace lizi6w
{ public partial class frm_booktInfo : Form
{ /// <summary>
/// 公有方法:构造函数;
/// </summary>
public frm_bookInfo()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen; //本窗体启动位置设为屏幕中央;
} /// <summary>
/// 私有方法:点击载入按钮;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Load_Click(object sender, EventArgs e)
{
SqlConnection sqlConnection = new SqlConnection();
        sqlConnection.ConnectionString =
"Server=(local);Database=EduBaseDemo;Integrated Security=sspi";
        SqlCommand sqlCommand = new SqlCommand();
        SqlCommand sqlCommand2 = new SqlCommand();
        sqlCommand.Connection = sqlConnection;
sqlCommand2.Connection = sqlConnection;
sqlCommand.CommandText = "SELECT * FROM tb_stock;";
sqlCommand2.CommandText = "SELECT * FROM tb_book WHERE No=@No;";
sqlCommand2.Parameters.AddWithValue("@No", "09187756");
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
sqlDataAdapter.SelectCommand = sqlCommand;
DataTable classTable = new DataTable();
sqlConnection.Open();
sqlDataAdapter.Fill(classTable);
this.cmb_stock.DataSource = classTable;
this.cmb_stock.DisplayMember = "Name";
this.cmb_stock.ValueMember = "No";
SqlDataReader sqlDataReader = sqlCommand2.ExecuteReader(); if (sqlDataReader.Read())
{
this.txb_No.Text = sqlDataReader["No"].ToString();
          this.txb_Name.Text = sqlDataReader["Name"].ToString();
this.rdb_inorout.Checked = (bool)sqlDataReader["inorout"];
this.rdb_inorout.Checked = !(bool)sqlDataReader["inorout"];
this.dtp_publishDate.Value = (DateTime)sqlDataReader["publishDate"];
this.cmb_stock.SelectedValue = (int)sqlDataReader["stockNo"];
this.txb_Speciality.Text = sqlDataReader["Speciality"].ToString();
}
sqlDataReader.Close(); //关闭数据阅读器(同时关闭连接);
}
}
}

  

例子2DataGridView

namespace 药品信息管理系统
{
public partial class frm_ClientTable : Form
{
public frm_ClientTable()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
} private void frm_ClientTable_Load(object sender, EventArgs e)
{ } private void btn_Load_Click(object sender, EventArgs e)
{
using (SqlConnection sqlConnection = new SqlConnection(DBHelper.connString))
{
SqlCommand sqlCommand = new SqlCommand();
//声明并实例化SQL命令;
sqlCommand.Connection = sqlConnection;
//将SQL命令的连接属性指向SQL连接;
sqlCommand.CommandText = "SELECT * FROM tb_Client;";
//指定SQL命令的命令文本;该命令查询所有学生;
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); //声明并实例化SQL数据适配器;
sqlDataAdapter.SelectCommand = sqlCommand; //将SQL数据适配器的查询命令属性指向SQL命令;
DataTable ClientTable = new DataTable();
//声明并实例化数据表,用于保存所有学生,以用作数据网格视图的数据源;
sqlConnection.Open(); //打开SQL连接;
sqlDataAdapter.Fill(ClientTable);
//SQL数据适配器读取数据,并填充学生数据表;
sqlConnection.Close(); //关闭SQL连接;
this.dgv_Client.Columns.Clear(); //数据网格视图的列集合清空;
this.dgv_Client.DataSource = ClientTable; //将数据网格视图的数据源设为学生数据表;
this.dgv_Client.Columns["CNo"].HeaderText = "客户编号"; //将数据网格视图的指定列的表头文本设为中文;
this.dgv_Client.Columns["CName"].HeaderText = "客户名称";
this.dgv_Client.Columns["CAddress"].HeaderText = "地址";
this.dgv_Client.Columns["CTel"].HeaderText = "联系电话";
this.dgv_Client.Columns["CName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
this.dgv_Client.Columns[this.dgv_Client.Columns.Count - ].AutoSizeMode = //数据网格视图的最后一列的自动调整列宽模式设为填充(至数据网格视图右侧边缘);
DataGridViewAutoSizeColumnMode.Fill; }
} private void btn_Update_Click(object sender, EventArgs e)
{
using (SqlConnection sqlConnection = new SqlConnection(DBHelper.connString))
{
SqlCommand sqlCommand = new SqlCommand(); //声明并实例化SQL命令;
sqlCommand.Connection = sqlConnection; //将SQL命令的连接属性指向SQL连接;
sqlCommand.CommandText = //指定SQL命令的命令文本;
"UPDATE tb_Client"
+ " SET CName=@CName,CAddress=@CAddress,CTel=@CTel"
+ " WHERE CNo=@CNo;"; sqlCommand.Parameters.Add("@CName", SqlDbType.VarChar, , "CName"); //向SQL命令的参数集合添加参数的名称、SQL Server数据类型、长度(仅用于定长类型)、所绑定的数据表中的列名;
sqlCommand.Parameters.Add("@CAddress", SqlDbType.VarChar, , "CAddress");
sqlCommand.Parameters.Add("@CTel", SqlDbType.VarChar, , "CTel");
sqlCommand.Parameters.Add("@CNo", SqlDbType.Char, , "CNo"); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); //声明并实例化SQL数据适配器,同时借助构造函数,将其SelectCommand属性设为先前创建的SQL命令;
sqlDataAdapter.UpdateCommand = sqlCommand; //将SQL数据适配器的更新命令属性指向SQL命令;
DataTable ClientTable = (DataTable)this.dgv_Client.DataSource; //声明数据表,并指向数据网格视图的数据源;数据源默认类型为object,还需强制转换类型;
sqlConnection.Open(); //打开SQL连接;
int rowAffected = sqlDataAdapter.Update(ClientTable);
sqlConnection.Close();
if (rowAffected > )
{
MessageBox.Show("更新" + rowAffected.ToString() + "行。");
}
else
{
MessageBox.Show("not ok");
} //SQL数据适配器根据学生数据表提交更新,并返回受影响行数; }
} private void btn_Add_Click(object sender, EventArgs e)
{ //未完成
using (SqlConnection sqlConnection = new SqlConnection(DBHelper.connString))
{
SqlCommand sqlCommand = new SqlCommand(); //声明并实例化SQL命令;
sqlCommand.Connection = sqlConnection; //将SQL命令的连接属性指向SQL连接;
sqlCommand.CommandText = //指定SQL命令的命令文本;
"insert tb_Client (CNo,CName,CTel,CAddress)values"
+ "(@CNo,@CName,@CTel,@CAddress)"; sqlCommand.Parameters.Add("@CName", SqlDbType.VarChar, , "CName"); //向SQL命令的参数集合添加参数的名称、SQL Server数据类型、长度(仅用于定长类型)、所绑定的数据表中的列名;
sqlCommand.Parameters.Add("@CAddress", SqlDbType.VarChar, , "CAddress");
sqlCommand.Parameters.Add("@CTel", SqlDbType.VarChar, , "CTel");
sqlCommand.Parameters.Add("@CNo", SqlDbType.Char, , "CNo"); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); //声明并实例化SQL数据适配器,同时借助构造函数,将其SelectCommand属性设为先前创建的SQL命令;
sqlDataAdapter.UpdateCommand = sqlCommand; //将SQL数据适配器的更新命令属性指向SQL命令;
DataTable ClientTable = (DataTable)this.dgv_Client.DataSource; //声明数据表,并指向数据网格视图的数据源;数据源默认类型为object,还需强制转换类型;
sqlConnection.Open(); //打开SQL连接;
int i = sqlCommand.ExecuteNonQuery();
if (i == )
{
MessageBox.Show("OK");
}
else
MessageBox.Show("not OK");
//int rowAffected = sqlDataAdapter.Update(ClientTable);
sqlConnection.Close();
MessageBox.Show("添加" + i.ToString() + "行。");
//SQL数据适配器根据学生数据表提交更新,并返回受影响行数; }
} private void btn_Delete_Click(object sender, EventArgs e)
{            
             
        //未完成
using (SqlConnection sqlConnection = new SqlConnection(DBHelper.connString))
{
SqlCommand sqlCommand = new SqlCommand(); //声明并实例化SQL命令;
sqlCommand.Connection = sqlConnection; //将SQL命令的连接属性指向SQL连接;
sqlCommand.CommandText = //指定SQL命令的命令文本;
"delete from tb_Client"
+ " WHERE CName='"+this.dgv_Client .CurrentRow .Cells [].ToString ()+"'";; //sqlCommand.Parameters.Add("@CName", SqlDbType.VarChar, 0, "CName"); //向SQL命令的参数集合添加参数的名称、SQL Server数据类型、长度(仅用于定长类型)、所绑定的数据表中的列名;
//sqlCommand.Parameters.Add("@CAddress", SqlDbType.VarChar, 0, "CAddress");
//sqlCommand.Parameters.Add("@CTel", SqlDbType.VarChar, 0, "CTel");
//sqlCommand.Parameters.Add("@CNo", SqlDbType.Char, 10, "CNo"); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); //声明并实例化SQL数据适配器,同时借助构造函数,将其SelectCommand属性设为先前创建的SQL命令;
sqlDataAdapter.UpdateCommand = sqlCommand; //将SQL数据适配器的更新命令属性指向SQL命令;
DataTable ClientTable = (DataTable)this.dgv_Client.DataSource; //声明数据表,并指向数据网格视图的数据源;数据源默认类型为object,还需强制转换类型;
sqlConnection.Open(); //打开SQL连接;
int i = sqlCommand.ExecuteNonQuery();
if (i >)
{
MessageBox.Show("OK");
}
else
MessageBox.Show("not OK");
//int rowAffected = sqlDataAdapter.Update(ClientTable);
sqlConnection.Close();
MessageBox.Show("删除" + i.ToString() + "行。");
//SQL数据适配器根据学生数据表提交更新,并返回受影响行数; }
}
}
}

第六周学习笔记,vc各类控件的输入输出的更多相关文章

  1. 《Linux内核分析》第六周学习笔记

    <Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...

  2. Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程

    Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  3. WPF-学习笔记 动态修改控件Margin的值

    原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...

  4. linux内核分析第六周学习笔记

    LINUX内核分析第六周学习总结 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.c ...

  5. 20165326 java第六周学习笔记

    第六周学习总结 ch8 String类对于有效处理字符序列信息非常重要. String对象的字符序列不能被修改删除,无法发生变化. StringBuffer类的对象实体的内存空间可以自动改变大小,便于 ...

  6. 软件测试第六周学习笔记之“Win8 APP应用程序的白盒测试”

    这周的学习笔记我想写点自己关于实验中碰到的问题和感想. 因为这次做的是白盒测试,所以我决定去测试一下上回测试的app的功能函数. 这次我用的是单元测试项目来做的白盒测试: 创建单元测试的步骤: 1.点 ...

  7. Linux内核分析——第六周学习笔记20135308

    第六周 进程的描述和进程的创建 一.进程描述符task_struct数据结构 1.操作系统三大功能 进程管理 内存管理 文件系统 2.进程控制块PCB——task_struct 也叫进程描述符,为了管 ...

  8. 【VC++学习笔记三】控件自绘

    MFC应用程序中,大部分的控件类型都已经被定制好了,即便是修改,也只是小范围内的修改,而很多情况下,我们又需要对界面进行特殊定制,这时,最好的办法就是用CWnd类进行派生,自己生成新的窗体,在WM_P ...

  9. Android学习笔记_30_常用控件使用

    一.状态栏通知(Notification): 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息.发送消息的代码如下: public void sendNotice(View v){ int ic ...

随机推荐

  1. linux中常见压缩文件格式

    文件后缀名 说明 *.zip zip 程序打包压缩的文件 *.rar rar 程序压缩的文件 *.7z 7zip 程序压缩的文件 *.tar tar 程序打包,未压缩的文件 *.gz gzip 程序( ...

  2. Android 自定义dialog类

    首先定制style样式 styles.xml 加入自定义样式 <style name="CustomLoadingDialog"> <item name=&quo ...

  3. Complier

    Complier [2019福建省赛] 模拟题应该有信心写,多出一些样例 当/* 与// 在一起的时候总会出错,一旦出现了这些有效的 应该把它删掉不对后面产生影响 #include<bits/s ...

  4. getRandomInt getRandomString

    import java.util.concurrent.ThreadLocalRandom; private static final String AB = "ABCDEFGHIJKLMN ...

  5. nginx负载均衡如何实现

    什么是nginx?Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的Web和反向代理服务器,也是一个 IMAP/POP3/SMTP ...

  6. 使用框架结构之frameset

    首先,我希望在你的目录下,有4个网页,各自显示不同的内容. 如图所示: 1.html显示"火影忍者" 2.html显示"英雄联盟" 3.html显示" ...

  7. android高仿抖音、点餐界面、天气项目、自定义view指示、爬取美女图片等源码

    Android精选源码 一个爬取美女图片的app Android高仿抖音 android一个可以上拉下滑的Ui效果 android用shape方式实现样式源码 一款Android上的新浪微博第三方轻量 ...

  8. Qt QByteArray 与 char* 的转换

    QByteArray 转换为 char * char *ch;//不要定义成ch[n]; QByteArray byte; ch = byte.data(); char * 转换为 QByteArra ...

  9. Query对象与DOM对象之间的转换

    什么是jQuery对象? ---就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法. 比如: $("#test") ...

  10. Jacoco代码覆盖率工具

    https://www.cnblogs.com/fnng/p/7923314.html https://my.oschina.net/wangmengjun/blog/974067