我想要得到的用戶名和用戶ID,但是當我執行命令 我得到異常:MySql的例外選擇AUTO_INCREMENT值C#
指數超出範圍。必須小於集合的大小非負少\ r \ n參數名:的startIndex」
數據庫擁有的項目:用戶ID(自動增加INT(9)(PK))和用戶名(VARCHAR( 20))
代碼:
using (MySqlConnection connection = new MySqlConnection(DBConnection.ConnectionString))
{
connection.Open();
MySqlCommand getUser = new MySqlCommand("SELECT * FROM User Where UserID = '42'", connection);
MySqlDataReader reader = getUser.ExecuteReader();
if (reader.HasRows){
唯一的例外是在 「的ExecuteReader」 拋出
隊列
「Select * From User Where UserID = '42'」在服務器上執行沒有任何問題。
我的問題是:
爲什麼我得到一個索引超出範圍的異常?
編輯:
我也試過只查詢
SELECT * FROM用戶在哪裏
User
,但我得到了同樣的異常。
我可以插入表中,我可以得到最後一個插入ID,但是當我嘗試每個數據庫與選擇*從XY我得到相同的異常。所有表都與innobDB和所有表至少有一個主鍵或外鍵。
EDIT2:
如果我只能選擇用戶名查詢工作:
選擇用戶名從用戶
但是,當我試圖讓用戶ID
從用戶選擇用戶ID
我得到異常:
{「目標數組不夠長複製集合中的所有項目。檢查數組索引和長度。「} System.Exception {System。ArgumentException的}
嘗試定義命令類型 –
nope我嘗試過類型「text」和「tabledirect」而沒有結果 – SeeuD1
您是否嘗試在查詢中指定列_explicitly_? –