iT邦幫忙

0

C# 您要求變更資料表由於會對索引主索引鍵或關聯產生重複的值所以不會成功。變更欄位的資料或變更包含重複資料的欄位、移除索引或重新定義索引以允許重複的項目,然後再試一次。

如下,我不理解我只是寫入一筆資料,為何還會顯示出此錯誤訊息?我應該如何修改我的程式碼?因為遊戲程式過長,我只提供錯誤訊息的相關程式。
謝謝幫忙解答!!

using System.Data;
using System.Data.OleDb;

List<int> yourLotto = new List<int>();

private void Insert_to_access()
        {
            //第一步:設定連線字串
            String strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Database2.mdb";
            //第二步:建立資料庫連線物件
            OleDbConnection cn = new OleDbConnection();
            cn.ConnectionString = strConnectionString;
            //第三步:開啟資料庫連線
            cn.Open();
            //SQL
            String SqlStr = "";
            SqlStr = " INSERT INTO LOTTO(record, ball1, ball2, ball3, ball4, ball5, ball6, ball7)values(2, 2, 3, 4, 5, 6, 7, 8)";
            //建立Command物件
            OleDbCommand command_ = new OleDbCommand(SqlStr, cn);
            //執行SQL語法
            command_.ExecuteNonQuery();
            //關閉資料庫連線
            cn.Close();
        }

錯誤訊息:
https://ithelp.ithome.com.tw/upload/images/20210501/20136579PAObPX1PBA.png
access的table
https://ithelp.ithome.com.tw/upload/images/20210501/20136579qU8PO06gD5.png

跟你程式碼應該無關吧
錯誤已經寫得很清楚
看起來只和SQL語法與你資料庫內容有關係
提供你的db schema index的設定會比較容易幫你處理
rofellos iT邦新手 5 級 ‧ 2021-05-03 11:45:53 檢舉
record 重複?

1 個回答

我要發表回答

立即登入回答