none
Repeater Dataitem System.Title Fehler RRS feed

  • 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?

    Donnerstag, 22. Mai 2014 08:27

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


    Donnerstag, 22. Mai 2014 08:44
    Moderator
  • 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)

      

           


    Donnerstag, 22. Mai 2014 09:07