DataGridView连接Sql数据库 功能 查询 添加 删除 修改

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 _03大项目
{
    public partial class Form1 : Form
    {
        //连接字符串
        string str = "Data Source=.;Initial Catalog=MyDeskInfo;Integrated Security=True";
        public Form1()
        {
            InitializeComponent();
        }
        //窗体加载
        private void Form1_Load(object sender, EventArgs e)
        {
            //加载餐桌
            LoadDeskInfoByDelFlag(0);
        }
        /// <summary>
        /// 该方法是加载所有没有被删除的餐桌
        /// </summary>
        /// <param name="p">删除标识 0---未删除,1---删除</param>
        private void LoadDeskInfoByDelFlag(int p)
        {
            List<DeskInfo> list = new List<DeskInfo>();

            //通过连接字符串连接数据库
            using (SqlConnection con = new SqlConnection(str))
            {
                //拼接sql语句
                string sql = "select DeskId,DeskName,DeskNamePinYin,DeskNum from DeskInfo where DeskDelFlag=" + p;
                //准备执行sql语句的对象
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    con.Open();//打开数据库
                    //准备读数据
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        //判断是否有数据(有没有行)
                        if (reader.HasRows)
                        {
                            //读取每一行
                            while (reader.Read())
                            {
                                DeskInfo dk = new DeskInfo();//创建餐桌对象
                                dk.DeskId = Convert.ToInt32(reader["DeskId"]);//id
                                dk.DeskName = reader["DeskName"].ToString();//名字
                                dk.DeskNamePinYin = reader["DeskNamePinYin"].ToString();//拼音
                                dk.DeskNum = reader["DeskNum"].ToString();//编号
                                list.Add(dk);//添加到集合中
                            }//end while
                        }//end if
                    }// end sqldatareader
                }//end using
            }//end using

            dgv.AutoGenerateColumns = false;//禁止自动生成列
            dgv.DataSource = list;//绑定数据 到集合list,这样才有显示
            dgv.SelectedRows[0].Selected = false;//禁止被选中

        }
        //添加数据
        private void btnOk_Click(object sender, EventArgs e)
        {
            int n = -1;
            //获取文本框的值
            //连接数据库
            using (SqlConnection con = new SqlConnection(str))
            {
                string sql = string.Format("insert into DeskInfo(DeskName, DeskNamePinYin, DeskDelFlag, DeskNum) values(‘{0}‘,‘{1}‘,{2},‘{3}‘)", txtName.Text, txtPinYin.Text, 0, txtNum.Text);
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    con.Open();//打开数据库
                    n = cmd.ExecuteNonQuery();
                }
            }
            string msg = n > 0 ? "操作成功" : "操作失败";
            MessageBox.Show(msg);
            LoadDeskInfoByDelFlag(0);//刷新

        }

        private void btnDelete_Click(object sender, EventArgs e)
        {

            //判断一下 是否选中行
            if (dgv.SelectedRows.Count > 0)
            {
                int r = -1;
                //选中了
                //该行数据的id
                string strId = dgv.SelectedRows[0].Cells[0].Value.ToString();
                int id = Convert.ToInt32(strId);//转换一下
                //update DeskInfo set DeskDelFlag=1 where DeskId=

                using (SqlConnection con = new SqlConnection(str))
                {
                    string sql = "update DeskInfo set DeskDelFlag=1 where DeskId=" + id;
                    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        r = cmd.ExecuteNonQuery();
                    }// end using
                }//end using

                string msg = r > 0 ? "操作成功" : "操作失败";
                MessageBox.Show(msg);
                LoadDeskInfoByDelFlag(0);//刷新
            }
        }

        private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgv.SelectedRows.Count>0)
            {
                //获取这条数据中的每个列中的值
                //id  name  pinyin  num
                labId.Text = dgv.SelectedRows[0].Cells[0].Value.ToString();
                txtUName.Text = dgv.SelectedRows[0].Cells[1].Value.ToString();
                txtUPinYin.Text = dgv.SelectedRows[0].Cells[2].Value.ToString();
                txtUNum.Text = dgv.SelectedRows[0].Cells[3].Value.ToString();
            }

        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (dgv.SelectedRows.Count>0)
            {
                int r = -1;
                //修改
                using (SqlConnection con=new SqlConnection(str))
                {
                    string sql =string.Format("update DeskInfo set DeskName=‘{0}‘,DeskNamePinYin=‘{1}‘,DeskNum=‘{2}‘ where DeskId={3}",txtUName.Text,txtUPinYin.Text,txtUNum.Text,Convert.ToInt32(labId.Text));
                    using (SqlCommand cmd=new SqlCommand(sql,con))
                    {
                        con.Open();
                       r= cmd.ExecuteNonQuery();
                    }// end using
                }// end using
                MessageBox.Show(r>0?"操作成功":"操作失败");
                LoadDeskInfoByDelFlag(0);
            }
        }
        //显示有多少条数据
        private void button1_Click(object sender, EventArgs e)
        {
            //不要这个
            //MessageBox.Show(dgv.SelectedRows.Count);

            //练习
            object obj;
            using (SqlConnection con=new SqlConnection(str))
            {
                string sql = "select count(*) from DeskInfo where DeskDelFlag=0";
                using (SqlCommand cmd=new SqlCommand(sql,con))
                {
                    con.Open();
                    obj= cmd.ExecuteScalar();
                }
            }
            MessageBox.Show(obj.ToString());

        }

        private void btnGc_Click(object sender, EventArgs e)
        {
            //查询的是被删除的数据
            LoadDeskInfoByDelFlag(1);
        }

        private void btnCDDelete_Click(object sender, EventArgs e)
        {
            string id = dgv.SelectedRows[0].Cells[0].Value.ToString();
            //还是 更新  改标识   5 恢复 数据需要再交钱 100 超邪恶的方法
            //稍稍的修改一下标识
            //  如果有一天 我邪恶了 请记住 我曾纯洁过             

            int r = -1;
            //修改
            using (SqlConnection con = new SqlConnection(str))
            {
                string sql = "update DeskInfo set DeskDelFlag=5";
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    con.Open();
                    r = cmd.ExecuteNonQuery();
                }// end using
            }// end using
            MessageBox.Show(r > 0 ? "操作成功" : "操作失败");
        }
    }
}
时间: 2024-12-14 02:49:38

DataGridView连接Sql数据库 功能 查询 添加 删除 修改的相关文章

JSP连接SQL数据库并且查询数据

具体代码如下: <!--导入包--> <%@ page language="java" import="java.util.*" %> <%@page import="java.sql.*" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <!DOCTYPE HTM

smarty模板调数据库并做添加删除修改和分页

smarty模板只要就是实现分离效果所以每个功能都需要两个页面一个是HTML  和 PHP  两部分组成 使用smarty模板要在main文件夹下面创建login.php文本,要用smarty模板首先引入入口文件, <?php include("../init.inc.php"); //引入入口文件 //var_dump($smarty);// $smarty->display("login.html");//用来在模板显示用户看到的内容 登录页面在sm

用WebService实现对数据库进行操作(添加+删除+修改)(转)

转自:http://blog.csdn.net/beyondqd/article/details/6703169 表为User,字段有 编号: int id,用户名:string UserName,密码:string UserPwd    /// <summary>    /// 添加          /// </summary>    /// <param name="name">用户名</param>    /// <para

用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等

用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法 sp_rename

用SQL语句添加删除修改字段

1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型     ALTER TABLE table_name     ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名     EXEC sp_rename '[dbo].[Table_1].[filedName1]

C# 连接SQL数据库

一:C# 连接SQL数据库 Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword; Server=myServerA

C#数据库相关操作:[1]C#连接SQL数据库(转)

对于学生或程序员而言,一般的编程过程中,基本上都会用到数据库,来保存用户登录信息或其他相关数据,本经验不在于教你什么新的知识,只是将一些零碎的数据库知识统一成册,方便人们查阅. Visual Studio是一个很强大的工具,特别是在C#语言运用越来越广的现在. 工具/原料 Visual Studio 2010 SQL Server 2008 1. 创建测试数据库Test 1 1.1 打开SQL Server管理工具 2 1.2 连接数据库服务器 3 1.3 在左侧视图中右键点击“数据库”,选择“

sql数据库中查询第几条到第几条的数据

通用方法: select top 500 * from (select top 1000 * from UserSearchDatas order by ID) a order by ID desc sql数据库中查询第几条到第几条的数据,布布扣,bubuko.com

C#连接SQL数据库的七个步骤

C#连接SQL数据库还需要进行验证,Windows验证就是SqlServer服务器使用Windows自带的验证系统.在建立数据库连接时,还需要考虑到地址的有效性. C#连接SQL数据库的七个步骤: 1.建立SqlConnection对象: 2.指定SqlConnection对象的ConnectionString 属性: 3.打开数据库连接: 4.指定SQL语句: 5.建立SqlDataAdapter对象和DataSet对象(myDataAdapter = new SqlDataAdapter(s