国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

c# winFrom中 dataGridView控件 在列表內直接編輯數據,然后保存到數據庫

2019-11-08 02:31:59
字體:
來源:轉載
供稿:網友
自學C#,前幾天學到dataGridView控件 學完后 就想知道怎么在列表內直接編輯數據,然后保存到數據庫中,就在網上看了看,答案都不是很理想,自己慢慢琢磨然后琢磨了出來   第一次發博客 就像記錄自己慢慢成長  有啥不好的還請諒解~
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MyFirstBlogsContent{    //新建一個UserInfo類 用于轉換類型    class UserInfo    {        public int  UserId { get; set; }        public string UserName { get; set; }        public string UserPwd { get; set; }         public int Age { get; set; }     }}
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace MyFirstBlogsContent{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        //連接字符串        PRivate string ConnStr { get; set; }        private void Form1_Load(object sender, EventArgs e)        {            LoadUserInfo();        }        #region 加載數據        private void LoadUserInfo()        {            //得到鏈接字符串            ConnStr = "server = .;uid = sa;pwd = 1316123;database = MyFirstDb";            //sql腳本            string sqlStr = "select userId, userName, userPwd,Age from UserInfo";            using (SqlDataAdapter adapter = new SqlDataAdapter(sqlStr, ConnStr))            {                DataTable dt = new DataTable();                //把獲取到的數據存入dt數據表中                adapter.Fill(dt);                //由于dt是弱類型 所以將它轉換成強類型                List<UserInfo> userList = new List<UserInfo>();                //遍歷每一行數據                foreach (DataRow dataRow in dt.Rows)                {                    UserInfo userInfo = new UserInfo();                    userInfo.UserId = int.Parse(dataRow["userId"].ToString());                    userInfo.Age = int.Parse(dataRow["Age"].ToString());                    userInfo.UserName = dataRow["userName"].ToString();                    userInfo.UserPwd = dataRow["userPwd"].ToString();                    userList.Add(userInfo);                }                //把數據展示在DataGridView表格中                this.dgvUserInfo.DataSource = userList;            }        }        #endregion               private void dgvUserInfo_CellEndEdit(object sender, DataGridViewCellEventArgs e)        {            //獲取選中行的索引            int numHang = this.dgvUserInfo.CurrentRow.Index;            //獲取選中行 中 列的索引            int numLie = this.dgvUserInfo.CurrentCell.ColumnIndex;            //獲取選中列的Name            string LieName = this.dgvUserInfo.Columns[numLie].Name;            //獲得指定行列修改過后值            string strInfo = this.dgvUserInfo.Rows[numHang].Cells[numLie].Value.ToString();            //獲得修改行的主鍵            int userId = int.Parse(this.dgvUserInfo.Rows[numHang].Cells["userId"].Value.ToString());            //sql 腳本            string sqlStr = string.Format("update UserInfo set {0} = {1} where userId = @userId",LieName,"@LieName");            using (SqlConnection conn = new SqlConnection(ConnStr))            {                using (SqlCommand cmd = conn.CreateCommand())                {                    //打開數據連接                    conn.Open();                    cmd.CommandText = sqlStr;                    //賦值                    cmd.Parameters.AddWithValue("@LieName", strInfo);                    cmd.Parameters.AddWithValue("@userId", userId);                    int num = cmd.ExecuteNonQuery();                    MessageBox.Show("修改成功");                }            }            //這里我還無法理解,如果直接調用LoadUserInfo()會報異常 在網上找的這個方法 可我現在還無法理解~            this.BeginInvoke(new MethodInvoker(() =>            {                LoadUserInfo();            }));        }    }}

主要記錄自己成長,如有雷同請聯系我~~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陵川县| 乌什县| 万源市| 巫山县| 怀远县| 寻甸| 托克托县| 志丹县| 苏尼特右旗| 浪卡子县| 托克逊县| 昭苏县| 青海省| 科技| 咸阳市| 连州市| 双峰县| 平潭县| 大同县| 勐海县| 永清县| 南雄市| 高雄市| 哈密市| 新巴尔虎右旗| 达尔| 遵义市| 卓尼县| 于田县| 尚义县| 阿荣旗| 河西区| 措勤县| 紫金县| 临潭县| 稷山县| 溧水县| 蚌埠市| 乌兰察布市| 华安县| 吉林市|