02. juni 2005 - 13:12
Der er
16 kommentarer og 1 løsning
Hent fra database
Hej, Jeg er ved at lave et C# program, hvor jeg skal kunne indtaste et ordreid. Udfra det ordreid skal man kunne se den tilknyttede kunde. Kunden kan idenficeres via et kunde nr. som er et tlf. nr. problemet er bare at når jeg fx. indtaster ordrenr. 20, så tror computeren at kundens kundenr er 20 og fx. 78332244. Her er min sql sætning: string strSQL = "SELECT * FROM kunde, ordre WHERE kunde.kundenr =" + kundenr_hentet + " AND ordre.kundenr = kunde.kundenr"; Håber der er nogen der kan hjælpe. mvh Brian
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
prøv med SELECT * FROM ordre INNER JOIN kunde ON kunde.kundenr = ordre.kundenr WHERE ordre.ordreid ="+indstastetordreid+"
string strSQL = "SELECT * FROM ordre INNER JOIN kunde ON kunde.kundenr = ordre.kundenr WHERE ordre.ordreid ="+ indstastetordreid ;
hvad ligger du i din kundenr_hentet variabel ?
Den skal laves om til ordrenr_hentet, da det er ordrenr. den henter fra indtastningsboksen. i ordre.cs
virker denne her: string strSQL = "SELECT * FROM ordre INNER JOIN kunde ON kunde.kundenr = ordre.kundenr WHERE ordre.ordreid ="+ ordrenr_hentet;
jeg vil ikke kalde mig ekspert men jeg kan til husbehov plus det løse. Virkede den sql sætning ?
nej ikke helt, jeg for stadig fejlen tilbage. Men jeg ved ikke om det er i min kode der er noget galt med. DataTable dataTable; string[] kundeoplysning = new string[8]; string strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\order.MDB"; string strSQL = "SELECT * FROM ordre INNER JOIN kunde ON kunde.kundenr = ordre.kundenr WHERE ordre.ordreid ="+ kundenr_hentet ; // create Objects of ADOConnection and ADOCommand OleDbConnection myConn = new OleDbConnection(strDSN); OleDbDataAdapter myCmd = new OleDbDataAdapter( strSQL, myConn ); myConn.Open(); DataSet ds = new DataSet(); myCmd.Fill(ds, "kunde"); myCmd.Fill(ds, "ordre"); dataTable = ds.Tables["kunde" + "ordre"]; kundeoplysning[0] = dataTable.Rows[0]["Firma navn"].ToString(); kundeoplysning[1] = dataTable.Rows[0]["adresse"].ToString(); kundeoplysning[2] = dataTable.Rows[0]["by"].ToString(); kundeoplysning[3] = dataTable.Rows[0]["postnr"].ToString(); kundeoplysning[4] = dataTable.Rows[0]["tlfnr"].ToString(); kundeoplysning[5] = dataTable.Rows[0]["email"].ToString(); kundeoplysning[6] = dataTable.Rows[0]["kredit"].ToString(); return kundeoplysning; Jeg ved ikke om du kan se hvor fejlen er
prøv med : DataTable dataTable; string[] kundeoplysning = new string[8]; string strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\order.MDB"; string strSQL = "SELECT * FROM ordre INNER JOIN kunde ON kunde.kundenr = ordre.kundenr WHERE ordre.ordreid ="+ ordrenr_hentet; // create Objects of ADOConnection and ADOCommand OleDbConnection myConn = new OleDbConnection(strDSN); OleDbDataAdapter myCmd = new OleDbDataAdapter( strSQL, myConn ); myConn.Open(); DataSet ds = new DataSet(); myCmd.Fill(ds, "kunde"); myCmd.Fill(ds, "ordre"); dataTable = ds.Tables["kunde" + "ordre"]; kundeoplysning[0] = dataTable.Rows[0]["Firma navn"].ToString(); kundeoplysning[1] = dataTable.Rows[0]["adresse"].ToString(); kundeoplysning[2] = dataTable.Rows[0]["by"].ToString(); kundeoplysning[3] = dataTable.Rows[0]["postnr"].ToString(); kundeoplysning[4] = dataTable.Rows[0]["tlfnr"].ToString(); kundeoplysning[5] = dataTable.Rows[0]["email"].ToString(); kundeoplysning[6] = dataTable.Rows[0]["kredit"].ToString(); return kundeoplysning;
02. juni 2005 - 13:50
#10
humm... jeg for den fejl at der ike er angivet nogen værdi for en eller flere krævede parametre
02. juni 2005 - 14:18
#11
sætter du ordrenr_hentet til en værdi?
02. juni 2005 - 21:10
#12
ja.. jeg har fundet ud af at det er mit sql statement der er et problem
03. juni 2005 - 07:57
#13
skriv lige hvilke felter der er og hvordan de hænger sammen.
06. juni 2005 - 09:12
#14
Jeg har fundet en fejl i mine relationer, jeg tjekker lige om det evt. var det mvh
06. juni 2005 - 13:34
#15
ok
07. juni 2005 - 10:06
#16
okay.. det var en fejl i selve databasen, der var nogle skjulte tabler(ved ikke lige hvor de kom fra), men jeg lavet en helt ny og nu fungere det fint, smider du lige et svar ?
09. juni 2005 - 09:59
#17
Lukker jeg selv Dr_Chaos du må sige til hvis du vil have de 30 points. Tak for hjælpen. mvh
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser