[問題] 請問SQL update的問題

看板C_Sharp作者 (pat)時間17年前 (2008/11/02 03:03), 編輯推噓1(1011)
留言12則, 3人參與, 最新討論串1/2 (看更多)
各位大大好,想請問一個問題 我現在是用VS2005寫行動專案, 裡面有讀到一個資料表everread,這個資料表有一個資料行名稱是news 用來紀錄是否有讀過檔,資料型別為bit 我是下面這樣寫,不過會出現 沒有傳回任何索引鍵資料行資訊的 SelectCommand 不支援 UpdateCommand 動態 SQL 產生。 的錯誤,請問到底哪裡有錯。 SqlCeConnection con = new SqlCeConnection("Data Source=\\map.sdf"); SqlCeDataAdapter hit = new SqlCeDataAdapter("SELECT * FROM everread WHERE _meID="+meID.ToString() + "AND _sID ="+this.sID, con); SqlCeCommandBuilder hitB = new SqlCeCommandBuilder(hit); DataSet hitD = new DataSet(); hit.Fill(hitD, "everread"); DataColumn[] keys = new DataColumn[1]; keys[0] = hitD.Tables["everread"].Columns["_sID"]; hitD.Tables["everread"].PrimaryKey = keys; DataRow findRow1 = hitD.Tables["everread"].Rows.Find(textID.Text.Trim()); if (bool.Parse(findRow1["news"].ToString()) == true) { findRow1["news"] = false; hit.Update(hitD, "everread"); } con.Close(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.204.21

11/02 03:14, , 1F
我猜是 everread 裡面沒有設定 Primary Key
11/02 03:14, 1F

11/02 16:40, , 2F
那請問一下,若我有兩個資料行名稱,組合起來才是主鍵
11/02 16:40, 2F

11/02 16:40, , 3F
那應該怎麼寫
11/02 16:40, 3F

11/03 01:20, , 4F
如果原本的資料庫裡面已經設定好主鍵,只要在讀取的時候
11/03 01:20, 4F

11/03 01:21, , 5F
一併把 Scheme 讀進來就可以了. 組合式主鍵跟妳上面用法一樣
11/03 01:21, 5F

11/03 01:48, , 6F
有點不太董耶,請問,我現在有三個資料庫名稱
11/03 01:48, 6F

11/03 01:50, , 7F
sID,meID,news這三個,我目前是還沒設定主鍵
11/03 01:50, 7F

11/03 01:51, , 8F
若我想要可以不會出現上面的錯,我在資料庫裡應該怎麼樣設
11/03 01:51, 8F

11/03 01:53, , 9F
主鍵,sID和meID混合起來才是主鍵
11/03 01:53, 9F

11/03 03:18, , 10F
看我回的那篇吧..
11/03 03:18, 10F

11/05 11:07, , 11F
D="+meID.ToString() + "AND _sID ="+this.sID, con);
11/05 11:07, 11F

11/05 11:07, , 12F
^^" AND前面少空格?
11/05 11:07, 12F
文章代碼(AID): #193AWPnH (C_Sharp)
文章代碼(AID): #193AWPnH (C_Sharp)