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


Två nybörjarproblem, ett vardera angående uppdatering/borttagning av information

Postades av 2008-01-20 21:08:26 - Maria Unborg, i forum c# (c-sharp), Tråden har 9 Kommentarer och lästs av 1424 personer

Jag har problem med ett "kommando" när jag ska uppdatera information samt ta bort information i en accessdatabas via Visual Studio. Jag använder mig av obdc.

I ena fallet där jag vill ändra ett lösenord använder jag denna kod:

public void Andralosen(int medlemsID, string losenord)
{
conn.Open();
sattnyttlosen.Parameters.AddWithValue("?", losenord);
sattnyttlosen.Parameters.AddWithValue("?", medlemsID);
int antalRowsAffected = sattnyttlosen.ExecuteNonQuery();
conn.Close();
MessageBox.Show("Klart", " ", MessageBoxButtons.OK, MessageBoxIcon.None);
}
Då får jag följande felmeddelande: ERROR [HY090] [Microsoft][ODBC-drivrutin för Microsoft Access]Ogiltig längd på sträng eller buffert
som då syftar på int antalRowsAffected = sattnyttlosen.ExecuteNonQuery();.

Samma "kommando" använder jag när jag vill ta bort ett lån som en medlem har i följande kod:
public void TabortLan(int medlemsID)
{
conn1.Open();
tabortlan.Parameters.AddWithValue("?", medlemsID);
int antalRowsAffected = tabortlan.ExecuteNonQuery();
conn1.Close();
MessageBox.Show("Klart", " ", MessageBoxButtons.OK, MessageBoxIcon.None);
}
Då för jag följande felmeddelande: ERROR [HY104] [Microsoft][ODBC-drivrutin för Microsoft Access]Ogiltigt precisionsvärde
som då syftar på raden int antalRowsAffected = tabortlan.ExecuteNonQuery();

Jag vet inte riktigt hur jag ska få till det.


Svara

Sv: Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 05:14:12 - Johan Djupmarker

Varför går du via ODBC? Har du testat OleDb istället? Har tyvärr ingen idé om vad felet är, men jag skulle testat med OleDb om det är ett möjligt alternativ.

/Johan


Svara

Sv: Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 09:36:52 - Chris Klug

Hur ser SQL:en ut?


Svara

Sv:Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 09:51:03 - Maria Unborg

OdbcCommandona ser ut såhär:

För att radera ett lån:

DELETE FROM Lån
WHERE (medlemsID = ?)

För att uppdatera lösenordet:

UPDATE Medlem
SET losenord = ?
WHERE (medlemsID = ?)


Svara

Sv:Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 10:09:10 - Maria Unborg

Anledningen till att jag går in via Odbc är för att det är det jag ska lära mig och för att det är det som hela resterande programmet är skrivet i.

/Maria


Svara

Sv: Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 13:41:53 - Chris Klug

Båda felen ser ut att vara relterade till typerna i databasen. Kolla upp vad det är för typer och försök att skapa typade parameter objekt. Dvs typ
<code>
OdbcParam param = new OdbcParam(...);
param.Value = ...
sattnyttlosen.Parameters.Add(param);
</code>
Obs! Pseudo kod som synes. Komme rinte ihåg ordningen på parametrarna i konstruktorn och sitter lite tight till just nu...


Svara

Sv:Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 16:53:16 - Maria Unborg

När jag testade denna kod:

public void Andralosen(int medlemsID, string losenord)
{
conn.Open();
OdbcParameter parameter = new OdbcParameter(losenord);
parameter.Value = losenord;

OdbcParameter param = new OdbcParameter(medlemsID);
param.Value = medlemsID;

sattnyttlosen.Parameters.Add(parameter);
sattnyttlosen.Parameters.Add(param);
int antalRowsAffected = sattnyttlosen.ExecuteNonQuery();
conn.Close();
}

så fick jag fortfarande felmeddelandet på int antalRowsAffected
"ERROR [HY090] [Microsoft][ODBC-drivrutin för Microsoft Access]Ogiltig längd på sträng eller buffert"

Sen testade jag denna kod:
public void TabortFilm(string imdb)
{
conn1.Open();
OdbcParameter param = new OdbcParameter();
param.Value = imdb;
tabortfilm.Parameters.Add(param);
int antalRowsAffected = tabortfilm.ExecuteNonQuery();
//tabortfilm.ExecuteNonQuery();
conn1.Close();
}

Men fick fortfarande samma felmeddelande på int antalRowsAffected
"ERROR [HY104?] [Microsoft][ODBC-drivrutin för Microsoft Access]Ogiltigt precisionsvärde"


Svara

Sv: Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 19:30:54 - Chris Klug

Tänkte snarare
<code>
public void Andralosen(int medlemsID, string losenord)
{
conn.Open();
OdbcParameter parameter = new OdbcParameter("?",OdbcType.VarChar,10);
parameter.Value = losenord;
sattnyttlosen.Parameters.Add(parameter);

parameter = new OdbcParameter("?",OdbcType.Int);
parameter.Value = medlemsID;
sattnyttlosen.Parameters.Add(parameter);

int antalRowsAffected = sattnyttlosen.ExecuteNonQuery();
conn.Close();
}

</code>
Dvs använda konstruktorn för att hårt sätta vilken parameter typ det är...
Kolla mer på http://msdn2.microsoft.com/en-us/library/system.data.odbc.odbcparameter.odbcparameter.aspx


Svara

Sv:Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-21 19:55:40 - Maria Unborg

Oavsett hur jag gör så får jag samma felmeddelande.

Testade denna kod vid borttagningen
public void TabortFilm(string imdb)
{
conn1.Open();


OdbcParameter parameter = new OdbcParameter("?", OdbcType.VarChar, 10);
parameter.Value = imdb;
tabortfilm.Parameters.AddWithValue("?", parameter);
int antalRowsAffected = tabortfilm.ExecuteNonQuery();

conn1.Close();

}
Men då fick jag detta felmeddelande:
Det finns ingen mappning från objekttypen System.Data.Odbc.OdbcParameter till en inbyggd typ i en känd provider.


Svara

Sv: Två nybörjarproblem, ett vardera angående uppdatering/borttagning av informa

Postades av 2008-01-22 12:43:04 - Chris Klug

Inte AddWithValue. Då försöker du lägga till en parameter som input variabel. Bara tabortfile.Parameters.Add(parameter)


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 710
27 958
271 751
1 124
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