2013-05-20 4 views
0

Я хочу, чтобы получить путь изображения от доступаизвлечение данных из базы данных доступа

DataTable myTable = new DataTable(); 
OleDbConnection myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); 

OleDbCommand myCommand = new OleDbCommand(); 
myCommand.CommandText = "SELECT ImageName AS 'ImageName', ImagePath AS 'Path' FROM [AImages] WHERE ID='" + _ID + "'"; 
myCommand.CommandType = CommandType.Text; 
myCommand.Connection = myConnection; 

OleDbDataAdapter myAdapter = new OleDbDataAdapter(); 

myAdapter.SelectCommand = myCommand; 
myAdapter.Fill(myTable); 

, но в последней строке произошла ошибка, как это: несоответствие типов данных в выражении критериев.

+2

Пожалуйста, пожалуйста, используйте параметризованный запрос и * не создавайте sql со строкой конкатенации. –

+0

Спасибо за внимание – user1837982

ответ

0

Я подозреваю, что проблема с тем, как вы пройти идентификатор, может быть, вы можете попробовать это вместо:

// note the ID=? 
myCommand.CommandText = "SELECT ImageName AS 'ImageName', ImagePath AS 'Path' FROM [AImages] WHERE ID=?"; 
myCommand.CommandType = CommandType.Text; 

// now a parameter 
var pId = new OleDbParameter {Value = _ID}; 
myCommand.Parameters.Add(pId); 

Я надеюсь, что это помогает.

Смежные вопросы