invalid column + ADO
2 отговора
0 прегледа
invalid column + ADO
Защо ми дава съобщение за грешка : invalid column name Nomen
Колоната със сигурност си е там. Не съм объркал името и.
Отварям си я с външна програма и със същата where клауза.
function TFInitMSSQL.isSQLDataBaseIsOK(sTableName: String): Boolean;
var
AdoQ2: TADOQuery;
begin
Result := False;
AdoQ2 := TADOQuery.Create(nil);
try
AdoQ2.Close;
AdoQ2.SQL.Clear;
AdoQ2.ConnectionString := str_ConnNeo;
AdoQ2.SQL.Add(' SELECT * FROM [dbo].[sysobjects] ');
(*invalid column name Nomen*)
AdoQ2.SQL.Add(' where name="Nomen" ');
AdoQ2.Prepared := True;
AdoQ2.Open; //тук гърми
if AdoQ2.RowsAffected >= 1 then
Result := True;
finally
AdoQ2.Free;
end;
end;
Колоната със сигурност си е там. Не съм объркал името и.
Отварям си я с външна програма и със същата where клауза.
function TFInitMSSQL.isSQLDataBaseIsOK(sTableName: String): Boolean;
var
AdoQ2: TADOQuery;
begin
Result := False;
AdoQ2 := TADOQuery.Create(nil);
try
AdoQ2.Close;
AdoQ2.SQL.Clear;
AdoQ2.ConnectionString := str_ConnNeo;
AdoQ2.SQL.Add(' SELECT * FROM [dbo].[sysobjects] ');
(*invalid column name Nomen*)
AdoQ2.SQL.Add(' where name="Nomen" ');
AdoQ2.Prepared := True;
AdoQ2.Open; //тук гърми
if AdoQ2.RowsAffected >= 1 then
Result := True;
finally
AdoQ2.Free;
end;
end;
Re: invalid column + ADO
Забравих да кажа, че става дума за MSSQL сървър - стандартен, дето върви с OFFICE 2003
Кавички и апострофи
Трябва да използваш апострофи за ограждането на Nomen. В Делфи ако искаш да напишеш апостроф в стрингова константа се използват два апострофа.
function TFInitMSSQL.isSQLDataBaseIsOK(sTableName: String): Boolean;
var
AdoQ2: TADOQuery;
begin
Result := False;
AdoQ2 := TADOQuery.Create(nil);
try
AdoQ2.Close;
AdoQ2.SQL.Clear;
AdoQ2.ConnectionString := str_ConnNeo;
AdoQ2.SQL.Add(' SELECT * FROM [dbo].[sysobjects] ');
AdoQ2.SQL.Add(' where name=''Nomen'' '); //Това тук са два съседни апострофа, а не кавички
AdoQ2.Prepared := True;
AdoQ2.Open; //тук вече не гърми :-)
if AdoQ2.RowsAffected >= 1 then
Result := True;
finally
AdoQ2.Free;
end;
end;