Avatar billede nat Nybegynder
28. maj 2005 - 00:28 Der er 10 kommentarer og
1 løsning

Databind til tekstbokse

Hej Eksperter

Jeg laver en select i en kunde datebase (lad os bare nøjes med fornavn og efternavn), disse informationer vil jeg så have til at fremgå i tekstbokse (istedet for f.eks. i et dategrid da jeg syntes at det er pænere).

Hvordan pokker gør jeg det?
Avatar billede mickeynt Nybegynder
28. maj 2005 - 00:51 #1
Det er dæleme noget med at gøre noget i retning af:

Sub Fyld_tekstboxe()

  Dim strSQL as string

  StrSQL = "SELECT Fornavn, Efternavn FROM Kunder";

  objComm = New OleDbCommand(strSQL, objConn)

  txtFornavn.Text = CType(objComm.ExecuteScalar(), String)
  txtEfternavn.Text = CType(objComm.ExecuteScalar(), String)
Avatar billede mickeynt Nybegynder
28. maj 2005 - 00:53 #2
End Sub
Avatar billede nat Nybegynder
28. maj 2005 - 01:00 #3
Undskyld, skulle nok have skrevet at det er C# jeg efterlyser...
Avatar billede mickeynt Nybegynder
28. maj 2005 - 01:22 #4
Ok - men prøv så i stedet dette:

void Fyld_tekstboxe()
{
string strSQL;
StrSQL = "SELECT Fornavn, Efternavn FROM Kunder";
objComm = new OleDbCommand(strSQL, objConn);
txtFornavn.Text = ((string)(objComm.ExecuteScalar()));
txtEfternavn.Text = ((string)(objComm.ExecuteScalar()));
}
Avatar billede nat Nybegynder
28. maj 2005 - 01:34 #5
hmm jeg får bare fornavn i begge textboxe
Avatar billede burningice Nybegynder
28. maj 2005 - 02:56 #6
mickeynt>> ny til .net?

nat>> prøv dette istedet

string StrSQL = "SELECT Fornavn, Efternavn FROM Kunder";
objComm = new OleDbCommand(strSQL, objConn);
OleDbDataReader reader = objCommand.ExecuteReader(ConnectionBehaviour.CloseConnection);
reader.Read();

txtFornavn.Text = reader.GetString(0);
txtEfternavn.Text = reader.GetString(1);

reader.Close();
Avatar billede nat Nybegynder
29. maj 2005 - 12:26 #7
Hmmm jeg får følgende fejl når jeg prøver:

{"Index (zero based) must be greater than or equal to zero and less than the size of the argument list." }

Min kode ser sådan ud:

try
            {
                //Open connection to the database
                DbConnection.Open();

                OleDbDataAdapter da = new OleDbDataAdapter();

                //Create StoredProcedure to insert row
                da.SelectCommand = new OleDbCommand("proc_login", DbConnection);
               
                da.SelectCommand.CommandType = CommandType.StoredProcedure;

                da.SelectCommand.Parameters.Add("@Email", Tb_Email);
               
                //da.SelectCommand.ExecuteNonQuery();
               
               
                //overfør resultatet til tekstbokse til redigering
                OleDbDataReader reader = da.SelectCommand.ExecuteReader();
                reader.Read();
                TextBox2.Text = reader.GetString(0);
                TextBox3.Text = reader.GetString(1);
                TextBox4.Text = reader.GetString(2);
                TextBox5.Text = reader.GetString(3);
                TextBox6.Text = reader.GetString(4);
                TextBox7.Text = reader.GetString(5);
                TextBox8.Text = reader.GetString(6);
                                                               
            }
            catch (Exception ee)
            {
                System.Diagnostics.Debug.WriteLine(ee.Message);
                //Close the connection to the database
                DbConnection.Close();
            }
           
            finally
            {
                //Close the connection to the database
                DbConnection.Close();
            }

Jeg selecterer 7 felter fra tabellen og vil kun hente den person hvor email i tekstboksen matcher..

Kan jeg ikke gøre som jeg har gjort?
Avatar billede burningice Nybegynder
29. maj 2005 - 13:49 #8
det er svært at vide uden at se hvordan din SPROC ser ud. Fejlen tyder i hvert fald på at du ikke vælger nok felter i din SPROC.
Avatar billede nat Nybegynder
29. maj 2005 - 14:53 #9
CREATE PROCEDURE proc_getKunde
@Email varchar (50)
AS
select fornavn, eftnavn, gade, nr, postnr, city, tlfNr, email from Kunde where Email = @Email
GO
Avatar billede nat Nybegynder
30. maj 2005 - 11:11 #10
burningice: Åhh jeg fandt min bug (manglede lige .text efter Tb_Email...) Så dit forslag virker helt efter hensigten. Smider du ikke lige et svar :)
Avatar billede burningice Nybegynder
30. maj 2005 - 12:19 #11
:), ja, undrede mig også lidt over din Tb_Email, men gik ud fra det bare var en string-variabel du havde givet det navn.
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
Kurser inden for grundlæggende programmering

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