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