none
如何指定 DataColumn 的值.. RRS feed

  • 問題

  • 請教各位前輩們...

    cmd 是 SqlCommand 變數..

    da 是 SqlDataAdapter 變數..

    row 是 DataRow 變數..

     

    cmd.CommandText="select ......"; //SQL 語法包含 Join 其它表格

    da.SelectCommand=cmd; da.Fill(ds);

    row=ds.Tables[0].NewRow();

    row.ItemArray[0] = "test";

    Response.Write(row.IsNull(0));

     

    如此,為何我得到的 row.ItemArray[0] 還是 Null 值?

     

    PS.程式碼有點省略過多,若不清楚我再補上..

    2006年7月27日 上午 08:30

解答

所有回覆

  • Dear yamigo:

    寫一小段程式碼給你參考一下,希望對你有所幫助

    Kevin,Tsui

                SqlConnection cn = new SqlConnection();
                cn.ConnectionString = "server=nb026;database=OFD_NEW;user id=sa;password=sa";
                cn.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "select * from AA_User";

                SqlDataAdapter da = new SqlDataAdapter();
                DataSet ds = new DataSet();
                da.SelectCommand = cmd;
                da.Fill(ds);

                MessageBox.Show(ds.Tables[0].Rows.Count.ToString());

                DataRow newRow = ds.Tables[0].NewRow();
                newRow["UserID"] = "ADOTest";
                newRow["UserCName"] = "ADO.NET Testing";

                ds.Tables[0].Rows.Add(newRow);

                MessageBox.Show(newRow["UserID"].ToString());

                MessageBox.Show(ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["UserID"].ToString());

                cn.Close();

     

    2006年7月27日 下午 05:11
  • 這裡有 MSDN 的例子, 參考看看.

    http://msdn2.microsoft.com/zh-tw/library/system.data.datarow.itemarray.aspx
    2006年7月27日 下午 06:22
  • 很謝謝 KevinTsuivincent_at_la 的指點,

    不過我的問題是,我在操作 DataRow 上其實也沒問題的,

    只是遇到資料來源若是從資料庫來的,

    而所選取的欄位不含 Primary key 的話 (例 select Phone, Addr ....)

    我在對 Table 新增一筆 DataRow 後,

    就是無法對 ItemArray 給予其值,

    所以這個問題一直不知如何處理,

    先謝謝了 ...

    2006年7月28日 上午 12:39
  • 如果你是改用 table.Rows.Add(new object[] { Value1 }); 呢?
    2006年7月28日 上午 03:15
    版主
  • 嗯~~真是太感謝小朱前輩的指點了~~

    使用您的方式確實可以~~

    但不知為何需使用如此方式才能指定資料?

    是否能請小朱前輩解答一下呢?

    先感謝您囉~~

     

    2006年7月28日 上午 05:28
  • 老實說,我也不知道

    因為這是我的常用作法,而且也比較不會有什麼問題 .
    我用很多次,屢試不爽

    2006年8月22日 下午 01:27
    版主