查看: 1495|回复: 6
收起左侧

[已解决] C# SQL 怎么将从数据库读取的datatabe修改后重新写入数据库

 关闭 [复制链接]
沧海ふ无涯
发表于 2013-12-25 10:58:36 | 显示全部楼层 |阅读模式
本帖最后由 沧海ふ无涯 于 2013-12-25 18:09 编辑

DT  创建代码
  1.   private void UserMangerForm_Load(object sender, EventArgs e)
  2.         {
  3.             dataGridView1.DataSource = null;
  4.             try
  5.             {
  6.                
  7.                string str = "select * from Users";
  8.                 sdr = SqlHelper.ExecuteReader(str);
  9.               
  10.                 dt.Columns.Add("姓名");
  11.                 dt.Columns.Add("性别");
  12.                 dt.Columns.Add("职务");
  13.                 dt.Columns.Add("生日");
  14.                 dt.Columns.Add("薪水");
  15.                 dt.Columns.Add("是否教练");
  16.                 dt.Columns.Add("登入密码");


  17.                 while (sdr.Read())
  18.                 {

  19.                     DataRow dr = dt.NewRow();
  20.                     dr["姓名"] = sdr["Name"];
  21.                     dr["职务"] = sdr["Position"];
  22.                     dr["性别"] = sdr["Sex"];
  23.                     dr["生日"] = sdr["Birthday"];
  24.                     dr["薪水"] = sdr["Salary"];
  25.                     dr["是否教练"] = sdr["IsTrainer"];
  26.                     dr["登入密码"] = sdr["LoginPassword"];
  27.                     dt.Rows.Add(dr);
  28.                 }

  29.                 dataGridView1.DataSource = dt;
  30.             
  31.             }
  32.             catch (Exception err)
  33.             {

  34.                 MessageBox.Show(err.Message.ToString());


  35.             }
  36.         
  37.         }
复制代码
数据绑定到了dataGridView1。   在dataGridView1中修改。

不知道修改后怎么重新写入数据库



还有  生日这个列,sqlserver2012中明明设置类型为data 类型,输出的却是datatime  后面多了00:00:00  不知道为什么
peng85344558
发表于 2013-12-25 11:52:35 | 显示全部楼层
随手从一个程序里超来的 datagridview 控件就有个upadate属性的
private DataSet ds;
private SqlDataAdapter myDataAdapter;
ds = new DataSet();
myDataAdapter.Update(ds, "123");
沧海ふ无涯
 楼主| 发表于 2013-12-25 11:57:29 | 显示全部楼层
peng85344558 发表于 2013-12-25 11:52
随手从一个程序里超来的 datagridview 控件就有个upadate属性的
private DataSet ds;
private SqlDataAda ...

datagridview 控件就有个upadate属性的  这个是重绘

ds的数据是哪来的?  123是表名?
peng85344558
发表于 2013-12-25 12:00:21 | 显示全部楼层
本帖最后由 peng85344558 于 2013-12-25 12:02 编辑
沧海ふ无涯 发表于 2013-12-25 11:57
datagridview 控件就有个upadate属性的  这个是重绘

ds的数据是哪来的?  123是表名?


123表名 ds去取你的datagridview
看这里吧http://www.knowsky.com/538587.html
我就简单做些跟数据库的接口而已  没研究太深



另外 目测没定义日期类型 默认成了datatime了 默认convert了  
沧海ふ无涯
 楼主| 发表于 2013-12-25 12:29:49 | 显示全部楼层
peng85344558 发表于 2013-12-25 12:00
123表名 ds去取你的datagridview
看这里吧http://www.knowsky.com/538587.html
我就简单做些跟数据库 ...

百度我也会

但是总有不同   也没看太懂
peng85344558
发表于 2013-12-25 14:49:44 | 显示全部楼层
沧海ふ无涯 发表于 2013-12-25 12:29
百度我也会

但是总有不同   也没看太懂

擦  为什么要用SqlHelper.ExecuteReader来读取数据呢  一般都是new SqlDateAdapter才能实现后续update
1个是利用botton触发,使用SqlCommandBuilder来批量将你d
private void button1_Click(object sender, EventArgs e)
        {
                    SqlCommandBuilder sqlbr = new SqlCommandBuilder(dt);                    
                    dt.Update(str);
        }
另外一种是用cellvalidated()对对单元格修改时触发更新 语法同上

评分

参与人数 2经验 +16 收起 理由
woxihuan2011 + 8 感谢解答: )
a330391 + 8 加分鼓励

查看全部评分

沧海ふ无涯
 楼主| 发表于 2013-12-25 18:09:15 | 显示全部楼层
peng85344558 发表于 2013-12-25 14:49
擦  为什么要用SqlHelper.ExecuteReader来读取数据呢  一般都是new SqlDateAdapter才能实现后续update
1 ...

擦 我解决了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-26 08:47 , Processed in 0.136138 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表