一、知识点描述

1、相关控件

①下拉框(ComboBox)

显示一个可编辑的文本框,其中包含一个允许值下拉列表。

②日历框(DateTimePick)

允许用户选择日期和时间,并以指定的格式显示该日期和时间。

③文本框(TextBox)

允许用户输入文本,并提供多行编辑和密码字符掩码功能。

④图片框(PictureBox)

指定支持事务处理初始化,允许用户加载图片。

⑤单选框(RadioButton)

当与其他单选按钮成对出现时,允许用户从一组选项中选择单个选项。

二、思维导图

三、示例代码

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;

using System.IO;

using System.Drawing.Imaging;

namespace 护士工作站

{

public partial class 信息管理 : Form

{

private string PhotoFileName;

public 信息管理()

{

InitializeComponent();

this.工号.Text = 登录.txt;

}

//button1_Click事件下的代码为载入代码

private void button1_Click(object sender, EventArgs e)

{

SqlConnection sqlConnection = new SqlConnection();

sqlConnection.ConnectionString =

"Server=(local);Database=EduBase1;Integrated Security=sspi";

SqlCommand sqlCommand = new SqlCommand();

SqlCommand sqlCommand2 = new SqlCommand();

sqlCommand.Connection = sqlConnection;

sqlCommand2.Connection = sqlConnection;

sqlCommand.CommandText = "SELECT * FROM tb_Room;";

sqlCommand2.CommandText = "SELECT * FROM tb_Nurse WHERE No=@No;";

sqlCommand2.Parameters.AddWithValue("@No", this.工号.Text.Trim());

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();

sqlDataAdapter.SelectCommand = sqlCommand;

DataTable roomTable = new DataTable();

sqlConnection.Open();

sqlDataAdapter.Fill(roomTable);

this.所属科室.DataSource = roomTable;

this.所属科室.DisplayMember = "Name";

this.所属科室.ValueMember = "No";

SqlDataReader sqlDataReader = sqlCommand2.ExecuteReader();

byte[] photoBytes = null;

if (sqlDataReader.Read())

{

this.工号.Text = sqlDataReader["No"].ToString();

this.姓名.Text = sqlDataReader["Name"].ToString();

this.rdb_Male.Checked = (bool)sqlDataReader["Gender"];

this.rdb_Female.Checked = !(bool)sqlDataReader["Gender"];

this.职称.Text = sqlDataReader["Title"].ToString();

this.所属科室.SelectedValue =(int) sqlDataReader["RoomNo"];

photoBytes =

(sqlDataReader["Photo"] == DBNull.Value ? null : (byte[])sqlDataReader["Photo"]);

}

sqlDataReader.Close();

if (photoBytes != null)

{

MemoryStream memoryStream = new MemoryStream(photoBytes);

this.照片.Image = Image.FromStream(memoryStream);

}

}

//button3_Click事件下的代码为打开照片代码

private void button3_Click(object sender, EventArgs e)

{

OpenFileDialog openPhotoDialog = new OpenFileDialog()

{

Title = "打开照片文件(位图格式)"

,

Filter = "BMP Files (*.bmp)|*.bmp"

,

InitialDirectory = @"C:\"

};

if (openPhotoDialog.ShowDialog() == DialogResult.OK)

{

this.PhotoFileName = openPhotoDialog.FileName;

this.照片.Image = Image.FromFile(this.PhotoFileName);

}

}

//button2_Click事件下的代码为载入代码

private void button2_Click(object sender, EventArgs e)

{

MemoryStream memoryStream = new MemoryStream();

this.照片.Image.Save(memoryStream, ImageFormat.Bmp);

byte[] photoBytes = new byte[memoryStream.Length];

memoryStream.Seek(0, SeekOrigin.Begin);

memoryStream.Read(photoBytes, 0, photoBytes.Length);

SqlConnection sqlConnection = new SqlConnection();

sqlConnection.ConnectionString =

"Server=(local);Database=EduBase1;Integrated Security=sspi";

SqlCommand sqlCommand = new SqlCommand();

sqlCommand.Connection = sqlConnection;

sqlCommand.CommandText =

"UPDATE tb_Nurse"

+ " SET Name=@Name,Gender=@Gender,Title=@Title,RoomNo=@RoomNo,Photo=@Photo"

+ " WHERE No=@No;";

sqlCommand.Parameters.AddWithValue("@Name", this.姓名.Text.Trim());

sqlCommand.Parameters.AddWithValue("@Gender", this.rdb_Male.Checked);

sqlCommand.Parameters.AddWithValue("@Title", this.职称.Text.Trim());

sqlCommand.Parameters.AddWithValue("@RoomNo", (int)this.所属科室.SelectedValue);

sqlCommand.Parameters.AddWithValue("@Photo", photoBytes);

sqlCommand.Parameters.AddWithValue("@No", this.工号.Text.Trim());

sqlConnection.Open();

int rowAffected = sqlCommand.ExecuteNonQuery();

sqlConnection.Close();

MessageBox.Show("更新" + rowAffected.ToString() + "行。");

}

}

}

四、效果截图

1、首先进入信息管理页面

2、载入该护士的个人信息

3、在打开照片中选择自己需要载入的图片

4、若要更新个人信息可直接在页面上更改内容

5、点击更新可提示更新的行数

6、这时再点击载入就是你更新的内容

转载于:https://www.cnblogs.com/dabanli/p/9803484.html

如何在各类控件中输入/输出数据(学习笔记)相关推荐

  1. 在 Web 数据控件中显示二进制数据54

    简介 前面的教程中 , 我们介绍了将二进制数据与应用程序的基础数据模型相关联的两种方法 , 并使用FileUpload 控件从浏览器向 Web 服务器的文件系统上载.我们还将了解怎样将上载的二进制数据 ...

  2. 在 DataList 或 Repeater 控件中分页报表数据44

    简介 在在线应用程序中显示数据时,分页和排序是两个非常常见的功能.例如,在一个在线书店搜寻 ASP.NET 书籍时,可能会有数以百计种这样的图书,但在报表的每页只列出十个匹配的搜索结果.而且,搜索结果 ...

  3. listview显示mysql数据_C#在listview控件中显示数据库数据

    一.了解listview控件的属性 view:设置为details columns:设置列 items:设置行 1.将listview的view设置为details 2.设置列属性 点击添加,添加一列 ...

  4. Visual C# 2005 - 如何于DataGridView控件中以跨数据行方式显示数据

    <?XML:NAMESPACE PREFIX = O /> 图表1 一般来说,每一个字段的内容会单独显示于DataGridView控件的一个数据行中.问题是,某些字段拥有大量文字数据,我是 ...

  5. Qt在设计ui界面时,在控件中输入中文,会自动变成英文字母,解决方案

    操作系统 win10专业版64位 Qt版本 6.1.2 问题详情 在Qt Creator中,进入ui设计页面,添加一个label控件.用的微软的拼音输入法,输入中文时,刚想选择候选的文字,就直接变成了 ...

  6. winform界面嵌入dwg图纸_WPF中使用WinForm控件预览DWG文件(学习笔记)

    操作环境:XP,C# ,.Net4.0和VS2010中测试 WinForm中使用DWGThumbnail不用这么麻烦,下面讨论的是在WPF中使用,WPF中无法直接引用DWGThumbnail.ocx来 ...

  7. mfc e将控件置于窗口顶层_PyQt5学习笔记04 - QWidget窗口控件基类

    本来这一篇是想写一下怎么使用Qt Designer去设计一个界面的,但是我现在通常都是用代码去直接写界面很少用设计器.因为Qt Designer并不是为了python而写的,所以用起来不是很方便.很多 ...

  8. 设计ui界面时,在控件中输入中文,会自动变成英文字母

    解决方法: 我看有的评论说把ClangCodeModel插件关闭重启QT就正常了,但是我尝试后发现还是不行!最后解决是:直接换个输入法,之前用的是微软自带的输入法,现在安装了讯飞输入法,问题成功解决, ...

  9. 在 TreeView 控件中显示分层数据

    1.在web.config文件中创建以下数据库连接字符串 <connectionStrings>         <add name="NorthwindConnectio ...

最新文章

  1. 内行的AI盛会——北京智源大会带你洞见未来!(含日程及限量优惠)
  2. iOS开发网络——数据缓存
  3. DOJO试用手记3--异步通信【原创】
  4. geoda权重矩阵导入matlab,空间计量经济学-分析解析.ppt
  5. JMeter之HTTP请求上传文件/上传图片
  6. 律师坚称技术无罪:“钉钉打卡神器”开发者二审被改判四年
  7. 荣耀5G手机加速追赶:最快将于下半年登场
  8. windows--reg--删除注册表指定的键(也叫项)、指定的值
  9. Mysql最常用的十大函数
  10. JTXQ、JTT部标模拟终端使用说明 --3 报警及报警附件
  11. 语音html浏览器,兼容IE的语音播放
  12. 不小心将项目的 iml文件删除了怎么办
  13. VirtualBox虚拟机安装MSDOS和MINIX2.0.0双系统
  14. crontab播放音乐没声音
  15. 听说今年金三银四变成金一银二了。。
  16. 蓝牙鼠标windows linux,关于windows linux双系统共用蓝牙鼠标的教程
  17. 高位在前低位在后是啥意思_详解MACD指标的死叉卖点:低位死叉+高位死叉+零轴附近死叉...
  18. Invalid bound statement (not found): shopping_whith_payment.pay.dataobject.PayInfoMapper.insertSelec
  19. 解决C盘存储空间不足
  20. MySQL——创建存储过程和函数

热门文章

  1. python3.7安装-Linux安装python3.7
  2. python语言入门p-python入门基础教程04 Python程序基本组成
  3. python基础知识选择题-python基础知识练习题(二)
  4. python转行it好学吗-想转行学python过来人提醒大家几点
  5. python培训班 北京-北京python培训班哪家好
  6. UVa12412 - A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)
  7. Linux虚拟地址空间布局
  8. 推荐!国外程序员整理的 C++ 资源大全(https://github.com/fffaraz/awesome-cpp)
  9. 印度视觉设计师Rishab平面设计作品,简直太美了!
  10. loj #6053 简单的函数 min_25筛