我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#怎么在窗体程序中操作数据库数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#怎么在窗体程序中操作数据库数据

本文小编为大家详细介绍“C#怎么在窗体程序中操作数据库数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么在窗体程序中操作数据库数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、界面布局

C#怎么在窗体程序中操作数据库数据

界面中有一个dataGridview、两个Button、两个Label和两个TextBox。

二、定义数据库操作的公共类

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Windows.Forms;using System.Data;using MySql.Data.MySqlClient;namespace TemSys{   public  class DBCtrl   {        private MySqlConnection m_ClientsqlConn;        public DBCtrl()                                                                          //    连接类型        {            m_ClientsqlConn = new MySqlConnection();            try            {                m_ClientsqlConn.Dispose();                m_ClientsqlConn.Close();                              m_ClientsqlConn.ConnectionString = "Database=dbName;Data Source=localhost;User Id=root;Password=123;charset=utf8";                m_ClientsqlConn.Open();            }            catch (Exception ee)            {                MessageBox.Show(ee.Message);            }        }        public DBCtrl(string IP, string DBname, string Uname, string Pword)                     //    创建连接        {            m_ClientsqlConn = new MySqlConnection();            try            {                m_ClientsqlConn.Dispose();                m_ClientsqlConn.Close();                m_ClientsqlConn.ConnectionString = string.Format("Database={0};Data Source={1};User Id={2};Password={3};charset=utf8", DBname, IP, Uname, Pword);                m_ClientsqlConn.Open();            }            catch (Exception ee)            {                MessageBox.Show(ee.Message);            }        }        public void DBConn(string connStr)                                                         //    重载  创建连接        {            try            {                m_ClientsqlConn.Close();                m_ClientsqlConn.ConnectionString = connStr;                m_ClientsqlConn.Open();            }            catch (Exception ee)            {                MessageBox.Show(ee.Message);            }        }        public DataTable GetDataTable(string SQLstr)                                     //    获取DataTable 一个表        {            Console.Write("zcn==获取数据库连接,打开数据库");            try            {                if (m_ClientsqlConn.State == ConnectionState.Open)                    m_ClientsqlConn.Close();                m_ClientsqlConn.Open();                MySqlDataAdapter da = new MySqlDataAdapter(SQLstr, m_ClientsqlConn);                DataTable resultDS = new DataTable();                da.Fill(resultDS);                return resultDS;            }            catch (Exception ee)            {                Console.Write("zcn==获取数据库连接,打开数据库异常异常");                //MessageBox.Show( ee.Message);                m_logclass.WriteLogFilein(ee.Message, "GetDataTable.txt");                return null;            }            finally            {                m_ClientsqlConn.Close();            }        }        public DataTable GetDataTableUsing(string SQLstr)                                     //    获取DataTable 一个表        {            using (MySqlConnection m_ClientsqlConn = new MySqlConnection())            {            }            try            {                if (m_ClientsqlConn.State == ConnectionState.Open)                    m_ClientsqlConn.Close();                m_ClientsqlConn.Open();                MySqlDataAdapter da = new MySqlDataAdapter(SQLstr, m_ClientsqlConn);                DataTable resultDS = new DataTable();                da.Fill(resultDS);                return resultDS;            }            catch (Exception ee)            {                //MessageBox.Show( ee.Message);                return null;            }        }        public List<string> GetStringListfor(string lineName,DataTable dt)    //根据某一列的名字  获取某个集合中该列的所有值        {            List<string> list = new List<string>();            foreach (DataRow dr in dt.Rows)            {                list.Add((string)dr[lineName]);            }            return list;        }        public List<DataRow> GetDataRowfor(DataTable dt)   //根据 datatable  获取每一行的数据的datarow        {            List<DataRow> list = new List<DataRow>();            foreach (DataRow dr in dt.Rows)            {                list.Add(dr);              }                     return list;        }         public DataTable GetDataTableOneLine(string SQLstr)                                     //    获取DataTable 一个表中一行        {            MySqlDataAdapter da = new MySqlDataAdapter(SQLstr, m_ClientsqlConn);            DataTable resultDS = new DataTable();            da.Fill(resultDS);            return resultDS;        }        public DataTable GetDataSet_to_Table(string SQLstr)                               //    获取 dataset   多个表中  table        {            try            {                MySqlDataAdapter da = new MySqlDataAdapter(SQLstr, m_ClientsqlConn);                DataSet ds = new DataSet();                da.Fill(ds);                return ds.Tables[0];            }            catch            {                return null;            }        }        public Boolean InsertDBase(string insString)        {            try            {                if (m_ClientsqlConn.State == ConnectionState.Open)                    m_ClientsqlConn.Close();                m_ClientsqlConn.Open();                MySqlCommand sqlcomd = new MySqlCommand(insString, m_ClientsqlConn);                sqlcomd.ExecuteNonQuery();                return true;            }            catch (Exception ee)            {                return false;            }            finally            {                m_ClientsqlConn.Close();            }        }        public Boolean deleteRowfor(string tablename,int deleteID)  //根据 ID 删除指定行        {            try            {                string ss ="delete from "+ tablename +" where ID = "+ deleteID;                if (m_ClientsqlConn.State == ConnectionState.Open)                    m_ClientsqlConn.Close();                m_ClientsqlConn.Open();                MySqlCommand sqlcmd = new MySqlCommand(ss, m_ClientsqlConn);                sqlcmd.ExecuteNonQuery();                return true;            }            catch(Exception ee)            {                return false;            }         }        public Boolean ModifyRowfor(string modifystr,string modifyID)         // 根据        {            try            {                string ss = modifystr + " where id = " + modifyID;                if (m_ClientsqlConn.State == ConnectionState.Open)                    m_ClientsqlConn.Close();                m_ClientsqlConn.Open();                MySqlCommand sqlcmd = new MySqlCommand(ss, m_ClientsqlConn);                sqlcmd.ExecuteNonQuery();                return true;            }            catch (Exception ee)            {                return false;            }            finally            {                m_ClientsqlConn.Close();            }        }        public void CloseDBase()               //   参数类型  不同数据库连接        {            m_ClientsqlConn.Close();        }    }}

三、在界面中操作数据库方法

ps:数据库的配置信息保存在Config.ini文件中,如果仅是测试用的话,可以直接在

m_DataBase = new DBCtrl(ipstr, namestr, usernamestr, passwordstr);

处输入ip地址、数据库名、数据库用户名和密码即可

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.Runtime.InteropServices;namespace TemSys{    public partial class ModifyDevice : Form    {        [DllImport("kernel32")]                                        //读写ini文件函数        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);        [DllImport("kernel32")]        private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);        DataTable dt = new DataTable();        private DBCtrl m_DataBase;        public ModifyDevice()        {            InitializeComponent();        }        //将所有的textBox值设为空        private void TextBoxNull()        {            textBox1.Text = "";            textBox2.Text = "";        }        //设置Lab值        private void labelshow()        {            label1.Text = dataGridView1.Columns[0].HeaderText;            label2.Text = dataGridView1.Columns[12].HeaderText;        }                  //初始化界面        private void ModifyDevice_Load(object sender, EventArgs e)        {            StringBuilder retval = new StringBuilder();            GetPrivateProfileString("DBConfig", "dbip", "", retval, 20, AppDomain.CurrentDomain.BaseDirectory + "Config.ini");            string ipstr = retval.ToString();            GetPrivateProfileString("DBConfig", "dbname", "", retval, 20, AppDomain.CurrentDomain.BaseDirectory + "Config.ini");            string namestr = retval.ToString();            GetPrivateProfileString("DBConfig", "dbusername", "", retval, 20, AppDomain.CurrentDomain.BaseDirectory + "Config.ini");            string usernamestr = retval.ToString();            GetPrivateProfileString("DBConfig", "dbpassword", "", retval, 20, AppDomain.CurrentDomain.BaseDirectory + "Config.ini");            string passwordstr = retval.ToString();            m_DataBase = new DBCtrl(ipstr, namestr, usernamestr, passwordstr);            initDataTable();        }        private void initDataTable()        {            string ssp = string.Format("select * from device_info1");            dt = m_DataBase.GetDataTable(ssp);            dataGridView1.DataSource = dt;            labelshow();        }        //双击dataGridView响应事件        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)        {            string index = dataGridView1.CurrentRow.Cells[0].Value.ToString();            if (label1.Text == "id")            {                string ssp = string.Format("select * from device_info1 where id='" + index + "'");                dt = m_DataBase.GetDataTable(ssp);                 //DataRow row = dt.Rows[0];                textBox1.Text = dt.Rows[0]["id"].ToString();                textBox2.Text = dt.Rows[0]["number"].ToString();            }        }        //点击修改按钮响应事件        private void btnModify_Click(object sender, EventArgs e)        {            bool flag = false;            string ssp = string.Format("update device_info1 set number='" + textBox2.Text + "'");            flag = m_DataBase.ModifyRowfor(ssp, textBox1.Text);            if (flag)            {                MessageBox.Show("修改成功!");                initDataTable();            }            else            {                MessageBox.Show("修改失败!");            }        }        private void btnDelete_Click(object sender, EventArgs e)        {             bool flag = false;            int currentIndex = (int)dataGridView1.CurrentRow.Cells[0].Value;            Console.WriteLine("输出当前选中数据行:" + currentIndex);            flag = m_DataBase.deleteRowfor("device_info1", currentIndex);            if (flag)            {                MessageBox.Show("删除成功!");                initDataTable();            }            else            {                MessageBox.Show("删除失败!");            }        }    }}

读到这里,这篇“C#怎么在窗体程序中操作数据库数据”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#怎么在窗体程序中操作数据库数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#怎么在窗体程序中操作数据库数据

本文小编为大家详细介绍“C#怎么在窗体程序中操作数据库数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么在窗体程序中操作数据库数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、界面布局界面中有一个d
2023-06-30

c#窗体怎么连接数据库

在 c# 中连接数据库的步骤:创建连接字符串,包含数据库信息。创建连接对象,使用 sqlconnection 类。打开连接,使用 open() 方法。执行查询或命令,使用 sqlcommand 类。关闭连接,使用 close() 方法。使用
c#窗体怎么连接数据库
2024-05-12

c#中怎么操作sqlite数据库

在C#中操作SQLite数据库需要引用System.Data.SQLite命名空间,然后使用SQLiteConnection和其他相关类来连接、查询和操作数据库。以下是一个简单的示例:创建数据库连接:using System.Data.SQ
c#中怎么操作sqlite数据库
2024-04-09

C#怎么操作Access数据库

本篇内容主要讲解“C#怎么操作Access数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么操作Access数据库”吧!C#操作Access数据库之SELECT操作是如何的呢,让我们开
2023-06-17

怎么在Python中操作MySQL数据库

今天就跟大家聊聊有关怎么在Python中操作MySQL数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、W
2023-06-14

JDBC-用程序操作数据库

驱动:每个数据库厂商对JDBC的接口的实现类。二、JDBC程序的开发步骤1、引入驱动jar2、编写代码三、JDBC程序的代码步骤1、注册驱动Class.forName("驱动类的全名称");mysql:com.mysql.jdbc.Driverorg.gjt.
JDBC-用程序操作数据库
2017-07-13

在Qt中怎么操作MySQL数据库

本篇内容介绍了“在Qt中怎么操作MySQL数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装驱动(1)安装在Qt中操作MySQL数
2023-07-05

C语言中怎么操作sqlite3数据库

这篇文章给大家介绍C语言中怎么操作sqlite3数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。数据库本篇假设数据库为my.db,有数据表student。nonamescore4一口Linux89.0创建表格语句如
2023-06-16

C#中如何操作Access数据库

今天就跟大家聊聊有关C#中如何操作Access数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#操作Access数据库实例演示如下:using System; using
2023-06-17

c#跨窗体传递数据怎么实现

在C#中,可以通过使用委托来实现跨窗体的数据传递。首先,在发送数据的窗体中定义一个委托类型和事件,用于传递数据:public delegate void DataTransferDelegate(string data);public
c#跨窗体传递数据怎么实现
2024-03-02

C#中怎么实现一个数据库操作类

这期内容当中小编将会给大家带来有关C#中怎么实现一个数据库操作类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#数据库操作类主要包括两类方法:一类用来直接执行SQL语句,另一类用来执行存储过程。其中的数
2023-06-17

VB.NET中怎么操作MySql数据库

本篇文章为大家展示了VB.NET中怎么操作MySql数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.NET操作MySql的一个例子Public Shared Function MyODBC
2023-06-17

python中怎么操作mysql数据库

Python连接和操作MySQL数据库本教程指导您如何使用Python与MySQL数据库连接、执行查询、插入和更新数据。涵盖游标、提交更改和关闭连接等核心概念。代码示例演示了这些操作的实际用法。高级用法部分介绍了参数化查询、事务、连接池和错误处理等高级主题。
python中怎么操作mysql数据库
2024-04-11

Python中怎么操作MongoDB数据库

这期内容当中小编将会给大家带来有关Python中怎么操作MongoDB数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、连接服务器连接服务器需要提供一个地址和接口import pymongo cli
2023-06-15

python中怎么操作mysql数据库

在Python中操作MySQL数据库,可以使用官方提供的mysql-connector-python库或者第三方库pymysql。下面以mysql-connector-python库为例,介绍如何操作MySQL数据库:安装mysql-co
python中怎么操作mysql数据库
2024-04-09

PHP7中怎么操作MySQL数据库

PHP7中怎么操作MySQL数据库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。服务器">连接到 MySQL服务器mysqli_connect(host, username
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录