Avatar billede repsak Nybegynder
08. oktober 2003 - 11:56 Der er 10 kommentarer og
1 løsning

Db i kontakt med datalist

jeg kan ikke få mit database-indhold ind i min datalist. Jeg bruger følgende kode:

(aspx)
<ItemTemplate>
indhold: <%# DataBinder.Eval(Container.DataItem, "end_date") %></td>
</ItemTemplate>

(codebehind)
protected void Bind(string sql){
    dbConnection = new OdbcConnection(CONNECTION_STRING);
    dbAdapter = new OdbcDataAdapter(sql, dbConnection);
    dataset = new DataSet();
    dbAdapter.Fill(dataset);
    dbConnection.Close();
    datalist.DataSource = dataset.Tables[0].DefaultView;
    datalist.DataBind();
}
Avatar billede tommer Nybegynder
08. oktober 2003 - 14:05 #1
hvilken fejl får du ??
Avatar billede pelkjaer Nybegynder
08. oktober 2003 - 16:24 #2
protected void Bind(string sql) {

    dbConnection = new OdbcConnection(CONNECTION_STRING);
    dbConnection.Open();

    OdbcDataAdapter _dbAdapter = new OdbcDataAdapter(sql, dbConnection);

    Dataset _dataset = new DataSet();
    _dbAdapter.Fill(_dataset);

    datalist.DataSource = _dataset
    datalist.DataBind();

    dbConnection.Close();
}
Avatar billede pelkjaer Nybegynder
08. oktober 2003 - 16:24 #3
Hov.. - case-sensitive

DataSet _dataset = new DataSet();
Avatar billede pelkjaer Nybegynder
08. oktober 2003 - 16:25 #4
og endnu en smutter:

datalist.DataSource = _dataset;
Avatar billede repsak Nybegynder
08. oktober 2003 - 16:35 #5
tommer -> jeg får ingen fejl, men jeg ved at der er data i databasen, men de blir ikke vist.

pelkjaer -> hmm ja du har vist en Open() som jeg mangler.... prøver
Avatar billede repsak Nybegynder
08. oktober 2003 - 21:05 #6
hmmm virker ikke umiddelbart ;-(
Avatar billede pelkjaer Nybegynder
09. oktober 2003 - 09:04 #7
okay..

jeg gør selv således:

private void BindToDataList() {
  if (!(IsPostBack)) {
    try {
      // Create and open the connection object
      objConn = new OleDbConnection(strConn);
      objConn.Open();

      // Create the Command, and set its prosperties
      objCmd = new OleDbCommand();
      objCmd.Connection = objConn;
      objCmd.CommandText = "[Command_I_Din_DB]";
      objCmd.CommandType = CommandType.StoredProcedure;
   
      // Bind the data to the DataList
      myDatalist.DataSource = objCmd.ExecuteReader(CommandBehavior.CloseConnection);
      myDatalist.DataBind();
    }
    finally {
      // Executing finally block
      objConn.Close();
    }
  }
}

eller

private void BindToDataList() {
  if (!(IsPostBack)) {
    try {     
      // Create and open the connection object
      objConn = new OleDbConnection(strConn);
      objConn.Open();

      OleDbDataAdapter _command = new OleDbDataAdapter("SELECT * FROM tableName", objConn);

      DataSet _dataset = new DataSet();
      _command.Fill(_dataset);

      // Bind the data to the DataList
      myDatalist.DataSource = _dataset;
      myDatalist.DataBind();
    }
    finally {
      // Executing finally block
      objConn.Close();
    }
  }
}
Avatar billede repsak Nybegynder
09. oktober 2003 - 22:10 #8
Hmmm nu ligner min kode din til fulde, men no luck

må jeg ikke se din kode i din aspx-fil? (datalist)
jeg forstår ikke hvad der er galt. Jeg ved nemlig at der er data i DB
Avatar billede pelkjaer Nybegynder
10. oktober 2003 - 08:53 #9
Husker du at køre din funktion i Page_Load?
Avatar billede repsak Nybegynder
10. oktober 2003 - 09:44 #10
pelkjaer -> hmmm så ok da - jeg gir kvajebajer ;-) Smid et svar
Avatar billede pelkjaer Nybegynder
10. oktober 2003 - 09:52 #11
Det er som regel de små ting :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester