|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
SQL запрос из OracleDataSet
Подскажите please
получаю строку, хочу найти в таблице её id код: bsec:=form1.DBEdit3.Text; sec.Close; sec.SQL.Clear; sec.SQL.Text:='select ROL_PASP_SEC_ID,ROL_PASP_SEC_NUM'+ ' from rol_pasp_sec'+ ' where ROL_PASP_SEC_NUM='+BSEC+''; sec.Open; idsec:=form1.sec.fieldbyname('ROL_PASP_SEC_ID').As Integer; при sec.open выходит ошибка ora00904:Invalid column name |
#2
|
|||
|
|||
Можешь вставить копию названия полей из базы данных? (Пишет - ошибка в названии поля)
|
#3
|
|||
|
|||
Попробуй так:
Код:
QuotedStr(BSEC) |
#4
|
||||
|
||||
QuotedStr не помогает
Названия полей ROL_PASP_SEC_ID ROL_PASP_SEC_NUM ROL_PASP_SEC_ST ROL_PASP_SEC_VID ROL_PASP_SEC_UNRS ROL_PASP_SEC_FNUM ROL_PASP_SEC_BLOC ROL_PASP_SEC_FSEC ROL_PASP_SEC_ZAMNUM ROL_PASP_SEC_TRZAM Насчет ошибки в названии поля, то вроде всё верно, я уже несколько раз переделывала запрос, ему все равно не нравиться |
#5
|
|||
|
|||
А зачем в конце два апострофа (+BSEC+'')? Может, их убрать: +BSEC
|
#6
|
||||
|
||||
Если убрать апострофы, он не видит значения этой переменной и выводит такую же ошибку. Invalid column name.
|
#7
|
|||
|
|||
Чтобы получить такой текст запроса
Код:
select ROL_PASP_SEC_ID, ROL_PASP_SEC_NUM from rol_pasp_sec where ROL_PASP_SEC_NUM = '00000' Код:
SQL.Text:= 'select ROL_PASP_SEC_ID, ROL_PASP_SEC_NUM from rol_pasp_sec where ROL_PASP_SEC_NUM = ''' + '00000' + ''''; Код:
SQL.Text:= 'select ROL_PASP_SEC_ID, ROL_PASP_SEC_NUM from rol_pasp_sec where ROL_PASP_SEC_NUM = ' + QuotedStr('00000'); В твоем случае вместо '00000' подставляй BSEC. Если пользуешь первый способ, то строка, хранящаяся в переменной не должна содержать знак апострофа ('). |
#8
|
||||
|
||||
Спасибо огромное!!!
Последний раз редактировалось Сёна, 16.05.2007 в 08:50. |