Fragensteller
Repeater Dataitem System.Title Fehler

Allgemeine Diskussion
-
Hi, ich hole mir per SQL Command von der Windows Indizierung ein Suchergebnis. Dies Dataset will ich an einen Repeater binden
cmdSearch.CommandText = "SELECT System.Title , System.FileName, System.ItemPathDisplay, System.Search.Rank,
System.FileDescription, System.Size,System.ItemAuthors ,System.DateModified " + " FROM SystemIndex WHERE SCOPE='file:E:\test'
AND CONTAINS('" + txtSearch + "')" + " ORDER BY System.Search.Rank"Mein Programm fliegt aber immer bei dem Feld System.Title auf die Schnauze. Das Feld heißt aber so. Ich habe es ja auch schon mit Select System.Title as MeinFeld ...
probiert.Da bekomme ich aber schon bei der SQL Abfrage einen Fehler. Wie kann ich das Feld denn an meinen Repeater binden?
- Typ geändert Stefan FalzModerator Dienstag, 27. Januar 2015 17:18 Keine bestätigte Lösung
Alle Antworten
-
Hallo Thomas,
entweder nur "Title" im DataBind Ausdruck angeben oder, wenn es mehrere Spalten mit Title geben könnte, im SQL Statement einen Aliasnamen angeben.
cmdSearch.CommandText = "SELECT System.Title AS SystemTitle ..."
und dann "SystemTitle" als Spaltennamen im DataBind angeben.
Wenn beim Aliasnamen ein Fehler kommt, poste bitte mal die genaue und vollständige Fehlermeldung.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Donnerstag, 22. Mai 2014 08:46
-
Hi Stefan, mit dem Alias hatte ich schon probiert. Da kommt
cmdSearch.CommandText =
"SELECT System.Title as SYSTEM_TITLE , System.FileName, System.ItemPathDisplay, System.Search.Rank, System.FileDescription, System.Size,System.ItemAuthors ,System.DateModified "+ " FROM SystemIndex WHERE SCOPE='file:E:\Test' AND CONTAINS('"+ txtSearch + "')"+ " ORDER BY System.Search.Rank"
System.Data.OleDb.OleDbException wurde nicht von Benutzercode behandelt.
ErrorCode=-2147217900
HResult=-2147217900
Message=Der Befehl enthielt mindestens einen Fehler.
Fehler E_FAIL(0x80004005) in IErrorInfo.GetDescription.
Source=System.Data
StackTrace:
bei System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
bei System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
bei System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
bei System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
bei System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
bei System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
bei System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
- Bearbeitet Thomas Klinger2 Donnerstag, 22. Mai 2014 09:08