-1
Здравствуйте, я получил ошибку:Ошибка «Токен Неизвестное» в Borland
Token unknown - line 1, char 74
, когда я пытаюсь сделать запрос с SQL инъекций, без параметра у меня нет никаких проблем, вот код:
DbProviderFactory factory= DbProviderFactories.GetFactory("Borland.Data.AdoDbxClient");
IDbConnection c = factory.CreateConnection();
c.ConnectionString = "DriverName=Interbase;Database=....;RoleName=RoleName;User_Name=...;Password=......;SQLDialect=1;MetaDataAssemblyLoader=Borland.Data.TDBXInterbaseMetaDataCommandFactory,Borland.Data.DbxReadOnlyMetaData,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b;GetDriverFunc=getSQLDriverINTERBASE;LibraryName=dbxint30.dll;VendorLib=GDS32.DLL";
c.Open();
IDbCommand cmd = c.CreateCommand();
cmd.CommandText = @"SELECT ID,NAME FROM USERS WHERE UPPER(NAME) = @NAME ORDER BY ID";
cmd.Connection = c;
IDbDataParameter p = cmd.CreateParameter();
p.ParameterName = "@NAME";
p.DbType = DbType.String;
p.Size = 15;
p.Value = "test_spring";
cmd.Parameters.Add(p);
IDataReader myreader = cmd.ExecuteReader();
DataTable dt = new DataTable();
int fieldCount = myreader.FieldCount;
for (int i = 0; i < fieldCount; i++)
{
dt.Columns.Add(myreader.GetName(i), myreader.GetFieldType(i));
}
while (myreader.Read())
{
object[] values = new object[fieldCount];
myreader.GetValues(values);
DataRow dataRow = dt.Rows.Add(values);
// We should not AcceptChangesDuringFill to avoid multiple data row versions
}
dt.EndLoadData();
Трассировка стека:
[TAdoDbxException (0x65): Token unknown - line 1, char 4
TERM]
Borland.Data.TAdoDbxProviderFactory.AdoDbxException(TDBXError DBXError) +34
Borland.Data.TDBXContext.Error(Int32 ErrorCode, String ErrorMessage) +66
Borland.Data.TDBXMethodTable.RaiseError(TDBXContext DBXContext, Int32 DBXResult, IntPtr DBXHandle, String AdditionalInfo) +288
Borland.Data.TDBXDynalinkCommand.CheckResult(Int32 DBXResult) +33
Borland.Data.TDBXDynalinkCommand.DerivedPrepare() +63
Borland.Data.TDBXCommand.Prepare() +66
Borland.Data.TDBXCommand.CommandExecuting() +54
Borland.Data.TDBXCommand.ExecuteQuery() +72
Borland.Data.TDBXMorphicCommand.ExecuteQuery() +23
Borland.Data.TAdoDbxCommand.ExecuteDbDataReader(CommandBehavior Behavior) +57
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +10
WebApplication1._Default.Page_Load(Object sender, EventArgs e) in C:\Users\ntaskas\Documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\Default.aspx.cs:43
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Plz Я хочу, чтобы закончить проект! Есть идеи??
Thx для вашего ответа, но с этими исправлениями снова у меня такая же ошибка. –
Точно на какой линии вы сталкиваетесь с исключением? Отправьте мне сведения о трассировке стека. – RRM
В этой строке: IDataReader myreader = cmd.ExecuteReader(); появится ошибка. –