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


Character encoding i C# mot Dbase

Postades av 2007-05-09 00:30:03 - Per-Erik Modig, i forum c# (c-sharp), Tråden har 7 Kommentarer och lästs av 2584 personer

Jag ska hämta data från en dbase tabell, men jag får åäö konstiga (tex SlÕnbõrsvõgen) och skulle vilja fixa encodingen. Jag har provat ett par olika men får felet "Det går inte att hitta installerbar ISAM."
Hur ska man göra?
Kan man fixa det i ett senare skede?

<code>
OleDbConnection con = new OleDbConnection();
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\\projekt\\bhc;Extended Properties=dBASE IV;User ID=;Password=;Character
Encoding=Windows-1252;";
OleDbCommand com = new OleDbCommand();
com.CommandText = "SELECT DOKNR, DATUM1, DATUM2, SALDO, NAMN, POSTADR, POSTNR,
ORT FROM OOF WHERE SALDO > 0 AND DATUM2 > #" + lastInvoiceDate.Value.Date +"#";
com.Connection = con;
OleDbDataAdapter ad = new OleDbDataAdapter();
DataSet ds = new DataSet();
ad.SelectCommand = com;
ad.Fill(ds);
invoicesGrid.DataSource = ds.Tables[0];
</code>

Jobbar i MS C# 2005 Express Edition, .NET 2.0


Svara

Sv: Character encoding i C# mot Dbase

Postades av 2007-05-09 12:27:33 - Pelle Johansson

Jag kör som exempel denna kod och det fungerar bra när det gäller åäö

public int CountRows()
        {
            OleDbConnection odbc = new OleDbConnection(
               "Provider=Microsoft.Jet.OLEDB.4.0;" +
               "Data Source=c:\test.dbf;" +
               "Extended Properties=dBase III");

            odbc.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = odbc;

            string sqlCountRows =
                "SELECT (*) " +
                "FROM [test.dbf]";
            
            command.CommandText = sqlCountRows;
            int rowCount = (int)command.ExecuteScalar();
            odbc.Close();
            return rowCount;
        }


Svara

Sv:Character encoding i C# mot Dbase

Postades av 2007-05-09 14:36:47 - Per-Erik Modig

Jag får samma resultat om jag importerar tabellen i access 2007. Databastabellen tillhör ett SPCS-ekonomisystem.

Går det inte att välja encoding i kopplingsträngen?


Svara

Sv: Character encoding i C# mot Dbase

Postades av 2007-05-09 14:41:14 - Niklas Györi

Använd dig av OLE Drivern för FoxPro så kommer det att ordna sig. SPCS använder sig av FoxPro inte DBASE.

Ska du använda dig av systemets databaser ska man egentligen använda deras API och inte gå direkt mot databaserna. Det fungerar säker bra om du bara hämtar data men ändrar du i tabellerna är det stor risk att du krashar index.


Svara

Sv:Character encoding i C# mot Dbase

Postades av 2007-05-09 15:53:37 - Per-Erik Modig

Vi ska bara läsa i databasen.

Är det Visual Foxpro som man ska använda som OLE driver? Annars så ärvad jag kan se FoxPro och Dbase desamma.

I Vilket fall som helst så verkar den inte hitta data när jag använder visual foxpros driver.


Svara

Sv: Character encoding i C# mot Dbase

Postades av 2007-05-09 17:54:05 - Niklas Györi

Hur ser din connectionstring ut mot SPCS databasen?
Jag kör själv med OLE för Visual FoxPro och hämtar data från databaserna i SPCS.
Men när jag ska lägga in något används APIet.

När jag använde DBase drivern hade jag samma problem som du med åäö, efter byte till foxpro löste sig alla problem.

<code>
strOleDBconn = "Provider=vfpoledb.1;Data Source = " + ftgKatalog + ";Collating Sequence=general;";
</code>
Så ser min ut med ftgKatalog pekandes på datakatalogen

Här hämtar jag en artikel med mera:
<code>
private void checkArtikel(string artnr)
{
string query = "SELECT ARTNR, BENAEMN FROM ART WHERE ARTNR =?";

try
{
OleDbConnection conn = new OleDbConnection(strOleDBconn);
OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);
adapter.SelectCommand.Parameters.Add("p1", OleDbType.VarChar).Value = artnr;
DataSet ds = new DataSet();
adapter.Fill(ds, "ART");


if (ds.Tables[0].Rows.Count == 0)
{
lblBottom.Text = "Artikeln ej funnen!";
txtArtnr.Focus();
conn.Close();
return;
}
else
{
DataTable dt = ds.Tables[0];
DataRow dr = dt.Rows[0];
artikelnummer = dr["ARTNR"].ToString().TrimEnd();
benaemn = dr["BENAEMN"].ToString().TrimEnd();

conn.Close();
lblBottom.Text = "Senast sökta artikelnr: " + artikelnummer;
txtArtnr.Text = "";
txtArtnr.Focus();
printEtikett.PrinterSettings.PrinterName = ConfigurationManager.AppSettings["Skrivare"].ToString();
printEtikett.DefaultPageSettings.PrinterSettings.Copies = (short)txtAntal.Value;

printEtikett.DefaultPageSettings.Landscape = false;


// printEtikett.Print();

printPreview.Show();
}



}
catch (OleDbException ex)
{
MessageBox.Show(ex.ToString(), "Fel", MessageBoxButtons.OK);
}


}
</code>


Svara

Sv:Character encoding i C# mot Dbase

Postades av 2007-05-09 20:30:25 - Per-Erik Modig

Tackar så mycket!

Jag måste ändra till en parameterfråga enligt ditt sätt så fungerade det hela.

/Per-Erik


Svara

Sv: Character encoding i C# mot Dbase

Postades av 2007-05-09 20:55:31 - Niklas Györi

Bra bra.. Kul att kunna hjälpa någon annan :-)


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 718
27 958
271 751
3 348
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