У меня есть этот запрос, настроенный в моем приложении, чтобы работать для поиска через мою базу данных. Я поставил этот запрос в Access, и он работает нормально. Однако, когда я помещаю его в свою программу, таблица имеет 0 записей. Не могли бы вы помочь?Запрос работает в Access, но не в моей программе. Зачем?
0
A
ответ
0
Я пробовал свой код и немного его модифицировал. Работает для меня в формате Access2003 .mdb.
OleDbConnection DBCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=(k:\mydatabases\mydatabase.mdb");
DBCon.Open();
// Create a select Command - you need System.Data.OleDb and System.Data for this
OleDbCommand selectCommand = new OleDbCommand();
// define the CommandText with two parameters @Filter1 and @Filter2
selectCommand.CommandText = "SELECT * FROM Cards WHERE Name like @Filter1 and Expansion like @Filter2";
selectCommand.Connection = DBCon;
// Create two string/VarChar Parameters -
// the following is a standard I commonly use
// for string/varchar; you might also use OleDbType.NVarChar
OleDbParameter param01 = new OleDbParameter();
param01.ParameterName = "Filter1";
param01.DbType = DbType.AnsiString;
param01.OleDbType = OleDbType.VarChar;
param01.SourceVersion = DataRowVersion.Current;
param01.SourceColumn = "Name";
// provide them with values - I used text boxes for input
// use '%' for like statement - if no parameter provided use single '%' only
if (txtFilter1.Text.ToString().Equals(""))
{
param01.Value = '%';
}
else
{
param01.Value = '%' + txtFilter1.Text.ToString() + '%';
}
// add the parameter to the SelectCommand
selectCommand.Parameters.Add(param01);
// same goes for the second parameter
OleDbParameter param02 = new OleDbParameter();
param02.ParameterName = "Filter2";
param02.DbType = DbType.AnsiString;
param02.OleDbType = OleDbType.VarChar;
param02.SourceVersion = DataRowVersion.Current;
param02.SourceColumn = "Expansion";
if (txtFilter2.Text.ToString().Equals(""))
{
param02.Value = '%';
}
else
{
param02.Value = '%' + txtFilter2.Text.ToString() + '%';
}
selectCommand.Parameters.Add(param02);
OleDbDataAdapter CardDA = new OleDbDataAdapter();
// tell the DataAdapter to use a SelectCommand
CardDA.SelectCommand = selectCommand;
CardDA.GetFillParameters(); // actually not sure if you need this but does no harm either
DataSet CardDS = new DataSet();
CardDA.Fill(CardDS, "TargetTable");
DBCon.Close();
foreach(DataRow row in CardDS.Tables["TargetTable"].Rows)
{
// do something ;
}
Удачи вам!
+0
Спасибо, что исправил это! – w9jds
Смежные вопросы
- 1. привязка не работает в моей программе C
- 2. логин не работает в моей программе сервлета
- 3. «это» не работает в моей программе
- 4. mysql_fetch_array(), не работает в моей программе
- 5. Почему session.persist() не работает в моей программе?
- 6. Почему find_if не работает в моей программе?
- 7. actioncommand не работает в моей программе
- 8. Быстрый запрос о моей программе
- 9. Запрос работает в Access, но не в MySQL
- 10. Мой запрос работает в Access, но не в Visual Studio
- 11. SQL Not In запрос работает в Access, но не MySQL
- 12. Вставка запроса не работает в моей программе, но хорошо работает на вкладке mysql
- 13. Странное сообщение в моей программе
- 14. Проверка ошибок в моей программе
- 15. Запрос Ajax блокируется в Firebug, но работает в Genymotion. Зачем?
- 16. Работает в Access, но не работает в SQL Oracle Developer
- 17. Печать файла в моей программе в python не работает
- 18. Сколько потоков работает в моей программе java?
- 19. Зачем вставлять запрос не работает?
- 20. Ошибка в моей программе REST
- 21. Java Arrays.sort() влияет на другие методы в моей программе; Зачем?
- 22. Сегментация в моей программе
- 23. NullPointerException в моей программе
- 24. Вид карты не показывался в моей программе?
- 25. Печать (Char *) (Void *) работает в основной программе, но не работает
- 26. Strcmp(), похоже, не работает в моей программе на C?
- 27. Почему пример QT QNetworkAccessManager не работает в моей программе?
- 28. Почему регулярные выражения не работает в моей PHP программе
- 29. MultiTasking не работает в моей программе на C++ 11
- 30. StringTokenizer, похоже, не работает в моей программе - Java
Какую версию доступа вы используете? – tttony
Я запускаю доступ к 2013 году – w9jds
Положите 'try'' catch', чтобы увидеть, есть ли исключение – tttony