0
該任務很簡單,有一個本地數據庫和一個應用程序,它通過它進行搜索並顯示一個包含結果的表。問題出在SQL查詢。我在Classes表中有3列,我只需要在應用程序的表中顯示2列,而第二個應限制字母數。 SQLite SQL管理器執行這個查詢並給了我正確的數據,但是c#給了我一個錯誤。sqlite c#substr調用錯誤
private void SearchButtonClick(object sender, RoutedEventArgs e)
{
base_connection.ConnectionString = "Data Source=New_test_base.db;Version=3;New=False;Compress=True;";
base_connection.Open();
sqlite_cmd= base_connection.CreateCommand();
sqlite_cmd.CommandText = "select Tag, substr(Description, 1, 2) from Classes where Description = 'rty'";// "select * from Classes where Description = '"+ SearchString.Text+"'";
DbData = sqlite_cmd.ExecuteReader();
DbData.Read();
string myreader = DbData["Tag"].ToString()+DbData["Description"].ToString();
MessageBox.Show(myreader);
}
錯誤是:指數超出大規模陣列的(不知道的措辭,我有俄羅斯VS) 我使用System.Data.SQLite;
OMG ..我甚至可以認爲這可能工作..謝謝) – chydik
這將是我的建議,雖然我可能會使用不同的名稱別名(例如'DescripPrefix'),以避免任何我應該也想要整個描述領域的問題。根據類的工作方式,根據位置而不是名稱訪問(例如'DbData [1]'或'DbData [2]',具體取決於索引的起始位置)也可能起作用。 – TripeHound