首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

将gridview的内容写下oracle数据库出错

2013-01-01 
将gridview的内容写入oracle数据库出错cs代码如下:using Systemusing System.Datausing System.Configur

将gridview的内容写入oracle数据库出错
cs代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Data.OracleClient;
using System.Data.OleDb;

public partial class _Default : System.Web.UI.Page 
{
     public  DataSet ds;
   protected void  Page_Load(object sender, EventArgs e)
    {
        ds = (DataSet)this.GridView1.DataSource;
        //Session["ds "] = GridView1.DataSource;
       // ds = (DataSet)Session["GridView1"];
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        
        OracleConnection conn = new OracleConnection("Data source = xxxx; User Id=xxxx; Password=xxxx;");
         if (conn.State.ToString() == "Closed")
         {
             conn.Open();

         }

         for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
         {
             string danwei = ds.Tables[0].Rows[i][0].ToString();
             string chexing = ds.Tables[0].Rows[i][1].ToString();
             string chehao = ds.Tables[0].Rows[i][2].ToString();
             string jiashiyuan = ds.Tables[0].Rows[i][3].ToString();
             string bqqk = ds.Tables[0].Rows[i][4].ToString();
             string sql = "insert into tcddbqb([danwei],[chexing],[chehao],[jiashiyuan],[bqqk]) values('" + danwei + "','" + chexing + "','" + chehao + "','" + jiashiyuan + "','" + bqqk + "')";
             OracleCommand cmd = new OracleCommand(sql, conn);
             try
             {
                 cmd.ExecuteNonQuery();
             }
             catch (Exception ex)
             {
                 Response.Write("插入失败!由于:" + ex.Message);


             }
         }
         conn.Close();
         Response.Write("<SCRIPT>alert('数据已成功导入到数据库!');</SCRIPT>");
    }
}
我想把gridview的内容放入dataset中,然后再写入数据库,但是在for (int i = 0; i < ds.Tables[0].Rows.Count; i++)的时候报错,说明内容没有写入到dataset 的ds中。请问应该如何更改,还是有更好的方法,请把代码给出来,不胜感激~!
[解决办法]
怎么那么冷清啊。。帮你顶了。。。
[解决办法]
this.GridView1.DataSource 是什么?dataset吗?你的思路好像不对。你应该借助 SqlDataAdapter 来更新。
[解决办法]
ds = (DataSet)this.GridView1.DataSource;为什么这样写  


不就是把GridView的数据存入数据库吗?干么还非得用DataSet    直接遍历GridView就是了
[解决办法]

引用:
cs代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls……

说真的,没见过这么获得数据源(ds = (DataSet)this.GridView1.DataSource;
),一般的作法是获得一个DataSet,然后GridView再绑定数据源(这里就是GridView的显示)
,如果真有你这样的作法,你可以调试看下(DataSet)this.GridView1.DataSource这个有没有值的,再就是出的错又是什么错来的,这也是一个问题

[解决办法]
你可以直接循环dgv,然后一条条加入数据库,
ds = (DataSet)this.GridView1.DataSource;
可改为DataTable dt=this.GridView1.DataSource;
DataSet ds=new DataSet();
ds.Add(dt);

热点排行