说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

c# 如何把datagridview中的信息选中列所在行的信息回填到数据库中

编辑:说三道四文库 发布时间:2018-04-25 09:06
HTML文档下载 WORD文档下载 PDF文档下载
运行结果:
 初始状态:
现在问题是如何把运行结果中任意点击一行或一列,把这一行的信息回填到数据库表中。
没明白你的意思!
是不是在DataGridView添加数据如后把这添加的数据保存到数据库中?
在c# winform中form1中插入datagridview,把它绑定到数据库中,新增一个按钮,这个按钮功能就是根据日期把datagridview绑定的信息显示出来,再添加一个按钮,这个按钮是把datagridview中的信息选中任意列所在行的信息回填到数据库中现在问题就是如何把datagridview中的信息选中任意列所在行的信息回填到数据库中!!
是在DataGridView选定数据如后把这添加的数据保存到数据库中
是在DataGridView选定数据如后把这这条数据保存到数据库中
那你就获取当前选中的值
http://blog.csdn.net/JiaoPengJay/archive/2010/02/03/5285252.aspx
这个是我写的在DataGridView中实现增删改查
也有获取当前选中的单元格的值
可能对你有所帮助
用ajax.pro 异步方式,首先用一列来存ID,然后通过一个js的function传入后台的异步方法中作为参数,然后这个方法就执行一个insert,就行了,至于那个js的function是想在双击行时触发,或者是单击行时触发,就随便你了
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;
using System.Data.SqlClient;
namespace WindowsApplication2
{
    public partial class Form2 : Form
    {
        private DataView dv = null;
        string sql = "";
        string Enabled = "";
        private string strconnection = "";
        private OracleConnection myconnection = null;
        public Form2()
        {
            InitializeComponent();
        }
        private void Form2_Load(object sender, EventArgs e)
        {
            strconnection = "Data Source=orcl9i ;Persist Security Info=True;User ID=scmis;Password=lgmis;";
            myconnection = new OracleConnection(strconnection);
            Init();
        }
        private void Init()
        {
            string sql = "select taskno as 任务单编号,taskcontext as 任务单内容描述,receiver as 接收人,planendtime as 计划完成时间,receiverno as 接受人工号,receivetime as 接收时间,senderno as 下达人工号 ,sender as 下达人,sendtime as 下达时间,task_status as 任务单状态 from T_INTERFACE_TICKETINFO";
            sql += " where  to_date(sendtime ,'yyyy-MM-dd HH24:MI:SS')  between  to_date('" + start.Value + "','yyyy-MM-dd HH24:MI:SS') and to_date('" + end.Value + "','yyyy-MM-dd HH24:MI:SS')";
            DataSet ds = ExecuteDatasetFromSql(sql);
            dataGridView1.DataSource = ds.Tables[0];
            //dataGridView1.da();
        }
        public DataSet ExecuteDatasetFromSql(string sqlcmd)
        {
            DataSet ds = new DataSet();
            try
            {
                myconnection.Open();
                OracleDataAdapter da = new OracleDataAdapter(sqlcmd, myconnection);
                OracleCommandBuilder orbc = new OracleCommandBuilder(da);
                da.Fill(ds);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                myconnection.Close();
            }
            return ds;
        }
       private void Search_Click(object sender, EventArgs e)
        {
            Init();
        }
        private void Ok_Click(object sender, EventArgs e)
        {
        [size=24px] 问题就是这里,请把代码补充完整!!这就是问题的所在!! [/size
        }
}
 
  private void Ok_Click(object sender, EventArgs e) 
        { 
         问题就是这里,请把代码补充完整!!这就是问题的所在!!


请高手指点下!!!
我市这样理解的!datagridview中选中一个单元格!然后将这个单元格所在行的信息回填到数据库中:
如果是这样的话:
在click事件中代码如下
            if (datagridview1.CurrentCell.RowIndex >= 0)//确定选择不是列头
            {
                string aa = datagridview1.CurrentRow.Cells[0].Value.ToString();//获取该行第一个列的值
                  string bb = datagridview1.CurrentRow.Cells[1].Value.ToString();//获取该行第二个列的值
……依次类推;假如第三列的值是double型的,那么这样可以写:
                 double cc = double.parse(datagridview1.CurrentRow.Cells[0].Value.ToString());//获取该行第三个列的值
获取完值以后,你就以这些值为条件往数据库里添加就可以了!至于连接数据库阿,sql语句阿什么的旧不用我说了吧。不懂的发消息,噢
            }
你看看这个insert语句

insert into ksdz_item_list(item_id,product_id,item_no,item_note,item_grade,unit,qty_req,supplier,remark,item_class,item_type) select ksdz_item_list_seq.nextval, '" + product_id + "','" + item_no + "', '" + item_note + "', '" + item_grade + "',(select t.unit from unit t where t.note ='" + unit + "') unit, " + qty_req + ",'" + supplier + "', '" + remark + "',(select t2.item_class from item_class t2,item_type t3 where t2.note = '" + item_class + "' and t3.note ='" + item_type + "'AND t3.item_type = LPAD(t2.item_class,1,'0')) item_class,(select t4.item_type from item_type t4 where t4.note='" + item_type + "') unit from  dual
如果是字符串就用单引号  套双引号 套加号 套变量
瑞果是数字就不用单引号了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘