Results 1 to 9 of 9

Thread: ASP.NET & .dbf-files

  1. #1

    ASP.NET & .dbf-files

    Hoi, ik ben nieuw hier maar zit met een vraag. Is het mogelijk om een .dbf-file te openen vanuit een ASP.NET Web Application.

    Ik werk momenteel met de Delphi 8 Architect Trial, maar met de componenten die ik daarin kan gebruiken lukt het niet om een connectie te maken met zo'n dbf-file.

    Nu heb ik gelezen dat dit met ADO.NET kan, maar ik kan die niet vinden/gebruiken.
    Kan het zijn dat ADO.NET in de trial niet aanwezig is?

    Bij voorbaat dank voor reacties

  2. #2
    Misschien heb je iets aan deze links

    SDGN Artikel deel 1

    SDGN Artikel deel 2

  3. #3
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Code:
    procedure TWebForm1.DataGrid1_DataBinding(
          sender: System.Object; e: System.EventArgs);
    var
      Conn: OleDBConnection;
      Adapter: OleDbDataAdapter;
      Table: DataTable;
    begin
      Conn := OleDbConnection.Create(
        'Provider=Microsoft.Jet.OLEDB.4.0;'+
        'Data Source=C:\Program Files\Common Files\Borland Shared\Data;' +
        'Extended Properties=dBASE IV;' +
        'User ID=Admin;Password=');
      Adapter := OleDbDataAdapter.Create('SELECT * FROM Animals', Conn);
      Table := DataTable.Create('Beesten');
      Adapter.Fill(Table);
      DataGrid1.DataSource := Table;
      Table.Free;
      Adapter.Free;
    end;
    Attached Images Attached Images  
    All methodologies are based on fear. -- Kent Beck.

  4. #4
    Ik krijg het helaas nog niet voor elkaar. Als ik de code van Andries gebruik, werkt mijn compiler gewoon mee, alleen wanneer ik hem run blijft mijn scherm akelig leeg

    Mijn vraag op dit moment is dan ook, wanneer wordt databinding aangeroepen? En zou de datagrid automatisch gevuld moeten worden wanneer deze procedure wordt doorlopen?

    Mij code ziet er op dit moment zo uit:

    Code:
    procedure TWebForm1.DataGrid1_DataBinding(sender: System.Object; e: System.EventArgs);
    var
      Conn: OleDbConnection;
      Adapter: OleDbDataAdapter;
      Table: DataTable;
    begin
      try
        Conn := OleDbConnection.Create(
        'Provider=Microsoft.Jet.OLEDB.4.0;'+
        'Data Source=C:\Temp\DataSet2\DATA;' +
        'Extended Properties=dbase III');
        Adapter := OleDbDataAdapter.Create('SELECT * FROM employee', Conn);
        label1.Text := 'test1';
      except
         label1.Text := 'test2';
      end;
      Table := DataTable.Create('Employees');
      Adapter.Fill(Table);
      DataGrid1.DataSource := Table;
      Table.Free;
      Adapter.Free;
    end;
    De labeltext veranderd niet, dus de hele procedure wordt naar mijn mening niet doorlopen. Wanneer ik deze code echter in mijn page_load procedure zet, wordt de labeltext netjes naar 'test1' veranderd, maar verder gebeurt er niets.

  5. #5
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Je moet de DataBind zelf aanroepen
    Bijvoorbeeld in Load event handler van de page:
    Code:
    procedure TWebForm1.Page_Load(
        sender: System.Object; e: System.EventArgs);
    begin
      if not IsPostBack then DataBind;
    end;
    All methodologies are based on fear. -- Kent Beck.

  6. #6
    Enorm bedankt Andries

    Het werkt nu eindelijk

  7. #7
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    No thanks. Maar het is Dirk (of Dirk Andries), niet Andries.
    All methodologies are based on fear. -- Kent Beck.

  8. #8
    Ok, mijn fout

    Bedankt Dirk

  9. #9
    Ik ben weer verder gegaan met mijn applicatie en wil nu gegevens wijzigen in mijn database via het datagrid. Het datagrid heeft een editbutton, deze veranderd in update/cancel na erop te klikken en de volgende procedure wordt aangeroepen wanneer op update geklikt wordt:

    Code:
    procedure TWebForm1.DataGrid1_UpdateCommand(source: System.Object; e: System.Web.UI.WebControls.DataGridCommandEventArgs);
    var         
      EMPLOYEE: string;
      LAST_NAME: string;
      cmd: OleDbCommand;
      rows: integer;
      parm: OleDbParameter;
      DA: OleDbDataAdapter;
    begin
      EMPLOYEE := textbox(e.Item.Cells[2].Controls[0]).text;
      LAST_NAME := textbox(e.Item.Cells[3].Controls[0]).text;
      str := 'SELECT * FROM EMPLOYEE';
      Conn := OleDbConnection.Create(
        'Provider=Microsoft.Jet.OLEDB.4.0;' +
        'Data Source=C:\Temp\DataSet2\DATA;' +
        'Extended Properties=dbase III');
      DA := OleDbDataAdapter.Create(str, conn);
      DT := DataTable.Create('Employees');
      DA.Fill(DT);
      Session['datatable'] := DT;
    
      cmd := OleDbCommand.Create('UPDATE EMPLOYEE SET LAST_NAME = @LAST_NAME WHERE EMPLOYEE = @EMPLOYEE');
      cmd.Parameters.Add('@LAST_NAME', OleDbType.varChar, 30, LAST_NAME);
      parm := cmd.Parameters.Add('@EMPLOYEE', OleDbType.Char, 3, EMPLOYEE);
      parm.SourceVersion := DataRowVersion.Original;
      DA.UpdateCommand := cmd;
      conn.open;
      cmd.Connection := conn;
      da.UpdateCommand.ExecuteNonQuery;
      
      DataGrid1.EditItemIndex := -1;
      databind;
    end;

    Tot aan "DA.UpdateCommand := cmd;" kon ik de Borland Help volgen, maar wat er daarna moet gebeuren om de updatecommand ook daadwerkelijk uit te voeren kon ik nergens vinden. Wat ik nu heb gedaan is executeNonQuery uit laten voeren maar deze geeft de volgende foutmelding:
    Code:
    Exception Details: System.Data.OleDb.OleDbException: Parameter @LAST_NAME heeft geen standaardwaarde.
    Ik kan nergens iets vinden over een standaard waarde bij de parameters.
    Iemand een idee wat ik fout doe?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. TMediaPlayer en wmv files
    By Raoul in forum Algemeen
    Replies: 0
    Last Post: 16-Dec-04, 14:46
  2. Replies: 31
    Last Post: 04-Jul-04, 20:13
  3. HTML code in ASP.NET app.
    By Siep in forum .NET
    Replies: 8
    Last Post: 16-Jun-04, 00:56
  4. backup/synchronisatie van files
    By freebutterflyx in forum Koffiehoek
    Replies: 1
    Last Post: 14-Feb-03, 22:13
  5. Files kopieren en vergelijken ?
    By hsenden in forum Algemeen
    Replies: 1
    Last Post: 15-Jan-02, 17:09

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •