Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Parametrar och MS Access

Postades av 2006-08-12 19:03:48 - Malin Palm Friberg, i forum asp.net generellt, Tråden har 9 Kommentarer och lästs av 480 personer

Hej.

Hur får man parametrar att fungera med MS Access 2000? Min kod ser ut så här men fungerar dock inte utan det kastar en exception.

<code>
string sql = "select * from user where user_name = ? and user_password = ?";

OleDbConnection conn = new OleDbConnection(strConnString);
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.CommandType = CommandType.Text;

cmd.Parameters.Add("@user_name", OleDbType.Char);
cmd.Parameters.Add("@user_password", OleDbType.Char);

cmd.Parameters["@user_name"].Value = anv.Text;
cmd.Parameters["@user_password"].Value = losen.Text;

try
{
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();

if (dr.Read())
{
Session["Inloggad"] = "Cocos2006";
Server.Transfer("blogg_comments.aspx");
}

else
{
lblMsg.Text = "Tyvärr gick det inte att logga in. Försök igen!";
}

dr.Close();

conn.Close();
}

catch (OleDbException ex)
{
lblMsg.Text = ex.ToString();
}
</code>


Svara

Sv: Parametrar och MS Access

Postades av 2006-08-13 00:50:30 - Anders Rönngren

Det ska funka.
Är connectionsträngen korrekt?
Vad står det i felmeddelandet?


Svara

Sv:Parametrar och MS Access

Postades av 2006-08-13 02:40:45 - Joakim Åhl

varför inte skriva så här?

select * from user where user_name = '"+minVariabel+" and user_password = '" +MinAndraVariabel+ "'"


Svara

Sv: Parametrar och MS Access

Postades av 2006-08-13 09:36:31 - Thomas Vanhaniemi

För att det är säkrare att använda parametrar, SQL Injection förhindras på det sättet...


Svara

Sv:Parametrar och MS Access

Postades av 2006-08-13 10:24:55 - Malin Palm Friberg

Jag har kontrollerat att connectionstringen fungerar.

Felmeddelandet ser ut så här:

System.Data.OleDb.OleDbException: Syntaxfel i FROM-instruktion. vid System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) vid System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) vid System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) vid System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) vid System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) vid System.Data.OleDb.OleDbCommand.ExecuteReader() vid admin_Default.btmLoggain_Click(Object sender, EventArgs e) i c:\Inetpub\wwwroot\cocos2006\admin\Default.aspx.cs:rad 38

Men när jag skriver in frågan direkt i MS Access får jag inget felmeddelande utan den frågar snällt efter först parameter nr 1 och sedan parameter nr 2.


Svara

Sv: Parametrar och MS Access

Postades av 2006-08-13 12:29:50 - Jimmy Thulin

Pröva alltid sql-satsen först, i det här fallet i access, så att du vet att det inte är fel på den. Nu verkar det ju faktiskt vara fel i din sql-sats så pröva att få till den rätt i access först. Genom att alltid pröva sina sql-satser, stored procedures m.m. först innan man prövar dem i applikationen så vet man åtminstone att de är rätt om det skulle uppstå exceptions i applikationen.

Det bör stå:

"select * from user where user_name = @user_name and user_password = @user_password";

Du bör kunna, om du debuggar och lägger en watch på cmd, utläsa hur sql-satsen blev. Då kommer du nog direkt se vad felet är.


Svara

Sv:Parametrar och MS Access

Postades av 2006-08-13 13:44:58 - Malin Palm Friberg

Jag har provat ditt förslag på hur sql-satsen ska se ut. Får tyvärr samma felmeddelande.

Har kört debugg men kan inte se vart felet ligger i sql-satsen eftersom den ser ut så här när jag lägger en watch på den
select * from user where user_name = @user_name and user_password = @user_password. Det blir fel när jag kör denna kodsnutt

<code>OleDbDataReader dr = cmd.ExecuteReader();</code>

Vad jag kan se i debbugern har båda parametrarna värde i form av string som de ska och databasen är öppen för användning. Och som sagt sql-frågan fungerar i Access som den ska. I alla fall så frågar den efter värdet på parameter nr 1 först i en ruta och sedan parameter nr 2 om man skriver in värden i rutorna får man ett resultat. Så jag antar att det fungerar men jag har aldrig kört en sådan fråga i Access förut så jag har kanske helt fel brukar mest hålla på med MySQL.


Svara

Sv: Parametrar och MS Access

Postades av 2006-08-13 15:34:53 - Jimmy Thulin

Ok, trodde att det skulle vara samma som när man använder en dataadapter med parametrar. Jag har själv aldrig använt mig av en datareader. Använder nästan alltid Microsofts "Data Access Application Block" fast då Sql Server.


Svara

Sv: Parametrar och MS Access

Postades av 2006-08-13 18:03:31 - Johan Djupmarker

Skulle kunna bero på att user är ett reserverat ord, testa såhär:

string sql = "select * from [user] where user_name = ? and user_password = ?";

/Johan


Svara

Sv:Parametrar och MS Access

Postades av 2006-08-13 21:37:55 - Malin Palm Friberg

Tack det gjorde sussen! :)


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 469
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies