Avatar billede ha9953 Nybegynder
17. juni 2003 - 11:22 Der er 9 kommentarer og
1 løsning

Problemer med merge af 2 databaser

Jeg skal bruge en funktion der kan kombinere 2 databaser - en indeholde fotos og en indeholde f.eks. personer.

jeg har følgende kode... men det virker f... ikke - hva gør jeg forkert

kode -------------

        openDB("ama_info")
            ssql = "SELECT hold_kategori.*, hold_person.*, hold_række.*, hold_person.person_række FROM (hold_kategori INNER JOIN hold_række ON hold_kategori.hold_id = hold_række.række_hold) INNER JOIN hold_person ON hold_række.række_id = hold_person.person_række WHERE (((hold_person.person_række)=" & række & "));"       
           
            dim objAdapter As new OleDBDataAdapter (sSql, Objconn)           
            dim ds1 As new Dataset()
            objAdapter.Fill(ds1, "dtpersoner")


        OpenDbfoto("foto")
            sSQLfoto = "SELECT * FROM placering INNER JOIN fotooversigt ON placering.placering_id=fotooversigt.foto_mappe;"
                                           
              Dim cmd2 As OleDBDataAdapter = New OleDBDataAdapter(ssql, Objconn)
            dim ds2 as new dataset()
            cmd2.Fill(ds2, "dtfoto")



        Dim myColArray1(1), myColArray2(1) As DataColumn

        myColArray1(0) = ds1.Tables(0).Columns("person_foto")
        ds1.Tables(0).PrimaryKey = myColArray1
        myColArray2(0) = ds2.Tables(0).Columns("foto_id")
        ds2.Tables(0).PrimaryKey = myColArray2

        ds1.Merge(ds2, False, MissingSchemaAction.AddWithKey)
        kategorier.Datasource = ds1.Tables.Item("dtpersoner")
        DataBind()                                                                                                                   
        CloseDB()   
        closedbfoto()
Avatar billede odegaard Nybegynder
17. juni 2003 - 12:24 #1
det ville nu være rart hvis du fortalte hvad der f... ikke virker.
Avatar billede ha9953 Nybegynder
17. juni 2003 - 14:08 #2
det kan du have ret i ;-)

Jeg kan ikke hente oplysninger fra fotodatabasen, men godt fra persondatabasen
Avatar billede odegaard Nybegynder
17. juni 2003 - 14:18 #3
ja meget fint, men hvilke fejlmeddelelser får du? Hvilken linje går det galt i? Godt nok er dette eksperten, men vi er jo ikke clairvoiante.
Avatar billede ha9953 Nybegynder
17. juni 2003 - 14:42 #4
det troede jeg da ellers .... nå men skidt her er fejlmeddelelsen:

foto_id is neither a DataColumn nor a DataRelation for table dtpersoner.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: foto_id is neither a DataColumn nor a DataRelation for table dtpersoner.

Source Error:


Line 140:                    <strong><%# Container.DataItem("hold_navn")%></strong>
Line 141:                    <strong><%# Container.DataItem("person_navn")%></strong>
Line 142:                    <strong><%# Container.DataItem("foto_id")%></strong>                                                               
Line 143:                </ItemTemplate>
Line 144:            </ASP:DataList>                       


Source File: D:\test\ama\holdinfo_personer.aspx    Line: 142

Stack Trace:


[ArgumentException: foto_id is neither a DataColumn nor a DataRelation for table dtpersoner.]
  Microsoft.VisualBasic.CompilerServices.LateBinding.LateIndexGet(Object o, Object[] args, String[] paramnames) +1051
  ASP.holdinfo_personer_aspx.__DataBind__control4(Object sender, EventArgs e) in D:\efb\ama\holdinfo_personer.aspx:142
  System.Web.UI.Control.OnDataBinding(EventArgs e) +66
  System.Web.UI.Control.DataBind() +26
  System.Web.UI.Control.DataBind() +86
  System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) +127
  System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) +683
  System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +49
  System.Web.UI.WebControls.BaseDataList.DataBind() +23
  System.Web.UI.Control.DataBind() +86
  System.Web.UI.Control.DataBind() +86
  ASP.holdinfo_personer_aspx.page_load() in D:\test\ama\holdinfo_personer.aspx:88
  System.Web.Util.ArglessEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +10
  System.Web.UI.Control.OnLoad(EventArgs e) +67
  System.Web.UI.Control.LoadRecursive() +29
  System.Web.UI.Page.ProcessRequestMain() +724
Avatar billede hdp Nybegynder
17. juni 2003 - 14:52 #5
Check lige om du selv kan finde kolonnen "foto_id" på tabellen dtpersoner ??
Ser ud som om meddelelsen siger at det er svært....
Avatar billede odegaard Nybegynder
17. juni 2003 - 15:37 #6
Sætningen "foto_id is neither a DataColumn nor a DataRelation for table dtpersoner." burde sige det hele.
Der findes ingen kolonne der hedder foto_id i dit datasæt.
Avatar billede odegaard Nybegynder
17. juni 2003 - 15:39 #7
ah det er jo i ds2 at du har din foto_id kolonne og ikke i ds1
Avatar billede hdp Nybegynder
17. juni 2003 - 16:02 #8
Skal der ikke være en sammenfaldende nøgle på de to tabeller så du ved hvilket billeder der skal på hvilken person ? Og hvad hedder denne nøgle i så fald ?
Avatar billede odegaard Nybegynder
20. juni 2003 - 22:49 #9
fandt du ud af det ?
Avatar billede ha9953 Nybegynder
06. juli 2003 - 00:54 #10
Der lukkes
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