07. februar 2005 - 16:04Der er
34 kommentarer og 1 løsning
løkke i database forb.
Hejsa Jeg har lavet en forbindelse til min Access db og vil gerne prøve at køre en løkke der skal udsrkive inholdet i en tabel en masse gange. Jeg har prøvet noget i stil med dette: for (counter = 1; counter < 1000; counter ++) { //en masse db kode //en Datagrid.Databind() ting }
Problemet er at den kun udskriver mit datagrid en gang! Hvad skal man gøre ved det?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
altså mit mål er i sidste ende at kunne måle forskellen på forbindelse til Access og MySQL, både med old ASP og .NET. Med old ASP lavede jeg bare <løkke>Response.Write rs("text") </løkke>, så jeg tænkte at man måtte skulle lave noget tilsvarende m. .NET. Hvis du har andre forslag til at nå mit mål er jeg villig til at lytte :)
<% Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test.mdb;User Id=admin;Password=") con.Open Dim cmd As OleDbCommand = New OleDbCommand ("SELECT felt FROM tabel", con) Dim rdr As OleDbDataReader = cmd.ExecuteReader While rdr.Read Dim f As String = CType(rdr(0), String) Response.Write f End While con.Close %>
hmm, ja det har du nok ret i! Mht til User Id i OleDbConnection, det kender jeg ikke noget til. Der plejer ikke at være UserId og password på mine access db's.?
Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test.mdb;User Id=admin;Password=") Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test.mdb;User Id=;Password=") Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test.mdb;")
Det virker sgu ikke helt. Der er noget med at OleDbConnection ikke er defineret. Du skulle vel aldrig have noget c#? Det er jeg bedst til at forstå, og desuden er ideen at vise den kompilerede kodes hastighed ift. alm ASP.
nå nå, jeg er vist trættere end jeg troede.. Hmm, undskyld, men jeg kom vist til at se lidt meget Super Bowl i går. Nå! Fejl: Compiler Error Message: BC30684: 'OleDbConnection' is a type and cannot be used as an expression. Er det mig der gør noget galt? Virker det hos dig?
Man bruger normalt ikke så meget <% %> i ASP.NET, men den her test er jo heller ikke en normal situation og jeg kan ikke lige komme i tanke om en meget ASP.NET'sk måde at gøre det på.
Stoppe det ind i en ArrayList i code behind og så bruge en repeater måske, men det syne sjeg vil være at handikappe ASP.NET lidt i denne her test.
okay, nu har jeg leget lidt med den anden, m en odbc forbindelse: <script runat="server"> private const string ConnStr = "Driver={MySQL ODBC 3.51 Driver};" + "Server=db.aoa.dk;Database=web36243;uid=web36243;pwd=19r6239w18;option=3";
void Page_Load(object sender, EventArgs e) {
using(OdbcConnection con = new OdbcConnection(ConnStr)) using(OdbcCommand cmd = new OdbcCommand("SELECT * FROM sso_count", con)) { con.Open(); for(int i = 0; i < 10000; i++) { DataGrid1.DataSource = cmd.ExecuteReader(); DataGrid1.DataBind(); } } } </script>
tja, nu virker det i hvert fald.. Kan man ikke bare skrive teksten ud med response.write ligesom før? Det er lidt åndssvagt at begynde at bruge datagrid her, da funktionen der tæller load tid så ikke virker.
nevermind jeg fik den selv... Tak for al din hjælp! Sig til hvis du nogensinde skal bruge en test af ASP og ASP.NET i forhold til Access og MySQL!!!
Synes godt om
Ny brugerNybegynder
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.