Avatar billede magoo20000 Nybegynder
08. september 2002 - 16:21 Der er 7 kommentarer og
1 løsning

namespace

Jeg har et begynderproblem med ASP.NET - hjælp mig eksperter!!

Benytter følgende kode i main.aspx:

<%@ Page Language="C#" ClientTarget="Downlevel" Src="SystemController.cs" Debug="True" %>
<%@ import Namespace="Controller" Inherits="SystemController" %>
<script runat="server">

    void Page_Load(object sender, EventArgs e) {
   
          if (!Page.IsPostBack) {
   
              // Databind the data grid on the first request only
              // (on postback, bind only in editing, paging and sorting commands)
              SystemController sc = new SystemController();
            // sc.MyQueryMethod()
            //    myCommand.Fill(ds);
   
        DataGrid1.DataSource = sc.MyQueryMethod();
        DataGrid1.DataBind();
          }
      }

</script>
<html>
<head>
</head>
<body style="FONT-FAMILY: arial">
    <h2>Data from database
    </h2>
    <hr size="1" />
    <form runat="server">
        <asp:datagrid id="DataGrid1" runat="server"  AllowPaging="True" PageSize="6" OnPageIndexChanged="DataGrid_Page" BackColor="White" CellPadding="4" width="80%" OnLoad="Page_Load" BorderStyle="None" BorderWidth="1px" BorderColor="#3366CC"></asp:datagrid>
    </form>
</body>
</html>

SystemController.cs:


  using System;
  using System.Data;
  using System.Data.SqlClient;
  // using DbHandler;

    public class SystemController{

    private DbHandler db;

    public SystemController(){
        db = new DbHandler("server=(local);database=TestDb;trusted_connection=true"); 
    }
   
    public DataSet MyQueryMethod() {
    return db.MyQueryMethod();
    }         
    }

DbHandler.cs:


    using System;
    using System.Data;
    using System.Data.SqlClient;
  //  using Controller;
       
    public class DbHandler {

        private String connection;
       
        public DbHandler() {
        conncetion = null;
        }
       
        public DbHandler(String _connection) {
        this.connection = connection;
       
        SqlConnection myConnection = new SqlConnection(connection);
      }
             
           
        public System.Data.DataSet MyQueryMethod() {
        string connectionString = "server=\'localhost\'; trusted_connection=true; Database=\'TestDb\'";
        System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection(connectionString);
       
        string queryString = "SELECT [Kunde].[au_id], [Kunde].[au_lname], [Kunde].[au_fname] FROM [Kunde]";
        System.Data.SqlClient.SqlCommand sqlCommand = new System.Data.SqlClient.SqlCommand(queryString, sqlConnection);
       
        System.Data.SqlClient.SqlDataAdapter dataAdapter = new System.Data.SqlClient.SqlDataAdapter(sqlCommand);
        System.Data.DataSet dataSet = new System.Data.DataSet();
        dataAdapter.Fill(dataSet);
       
        return dataSet;
    }
   
}

Men ved kompilering fås følgende trace:

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0246: The type or namespace name 'DbHandler' could not be found (are you missing a using directive or an assembly reference?)

Source Error:



Line 7:      public class SystemController{
Line 8: 
Line 9:      private DbHandler db;
Line 10:
Line 11:    public SystemController(){


Source File: SystemController.cs    Line: 9

HILFE BITTE!
Avatar billede simon.ulsnes Nybegynder
08. september 2002 - 18:16 #1
Den nemmeste løsning er at droppe Src-tagget i dit Page-direktiv, og i stedet kompilere alle dine .cs filer til én dll fil som du lægger i bin-mappen.

// Simon
// This sentence no verb.
Avatar billede magoo20000 Nybegynder
08. september 2002 - 18:38 #2
Gøres dette vha. csc /t:library /out:etEllerandet.dll SystemController.cs DbHandler.cs ???

Hvad begyder min fejlmelding helt præcist??
Avatar billede z42cool Nybegynder
09. september 2002 - 07:00 #3
Du har udkommenteret using DbHandler i din fil, derfor kan kompileren ikke finde en klasse der hedder DbHandler. Du skal først kompilere DbHandler.cs med "csc /target:library DbHandler.cs" og efterfølgende ligge DbHandler.dll i dit \bin directory. Nu udkommenterer du "using DbHandler" linien og så burde det virke!
Avatar billede simon.ulsnes Nybegynder
09. september 2002 - 08:34 #4
magoo20000 > Ja.
Avatar billede magoo20000 Nybegynder
09. september 2002 - 12:57 #5
simon.ulsnes og z42cool >> Jeg har først kompileret dbhandler.cs og .dll'en ligger nu i /bin
Ved kompilering af systemcontroller.cs får følgende fejl fra kompileren:
Compiler Error Message:
CS0246: The type or namespace name 'DbHandler' could not be found (are you missing a using directive or an assembly reference?)

Source Error:

Line 4:    using System.Data;
Line 5:    using System.Data.SqlClient;
Line 6:    using DbHandler;*
Line 7: 
Line 8:      public class SystemController{
Line 9:
Line 10:    private DbHandler db;*

Der er problemer med de med * markerede linjer!
Jeg kan ikke forstå, at denne synlighed ikke er skabt??
Avatar billede simon.ulsnes Nybegynder
09. september 2002 - 15:24 #6
når du compiler systemcontroller.cs skal du huske argumentet r:dbhandler.dll til compileren.
Avatar billede simon.ulsnes Nybegynder
09. september 2002 - 15:25 #7
csc /t:library /r:dbhandler.dll systemcontroller.cs
Avatar billede magoo20000 Nybegynder
09. september 2002 - 16:49 #8
Ahhhh.... Glimrende! Nu virker det sgu!! Kanon - der gik lyset (endeligt) op for mig!
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