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


Problem med DataSet

Postades av 2007-05-16 14:53:14 - David Zander, i forum c# (c-sharp), Tråden har 8 Kommentarer och lästs av 904 personer

Hej!

Jag håller på att göra min egen settings fil och vill använda ett DataSet för att spara variablerna som senare ska användas när jag gör en backup av olika filer på datorn.
DataSetet ska sedan sparas ner till en XML fil som ska kunna laddas när klienten vill göra samma backup igen.
Problemet jag har med detta är att jag inte lyckas få in variablerna i DataSetet, för programmet lyckas göra en .xml fil, dock innehåller denna fil bara Kolumn namnen.
Kan ni hitta felet jag gör?

        private void SaveButton_Click(object sender, EventArgs e)
        {
            BSettings.BackupName = BackupName.Text;
            myDataTable = new DataTable(BackupName.Text);
            FillColumnNames();

            for (int i = 0; i <= BackupItems.Items.Count-1; i++)
            {
                if (Int16.Parse(TypeID.Items[i].ToString()) == 1)
                {
                    File.Copy(BackupItems.Items[i].ToString(), BackupPath.Items[0].ToString() + Path.GetFileName(BackupItems.Items[i].ToString()),true);
                    BSettings.NewPath = BackupPath.Items[0].ToString();
                    BSettings.OldPath = BackupItems.Items[i].ToString();
                    BSettings.BFileType = 1;
                }


                if (Int16.Parse(TypeID.Items[i].ToString()) == 2)
                {
                    BDirs.copyFolders(folderPath, BackupPath.Items[0].ToString() + "\\" + BackupItems.Items[i].ToString());
                    BSettings.NewPath = BackupPath.Items[0].ToString() + "\\" + BackupItems.Items[i].ToString();
                    BSettings.OldPath = folderPath;
                    BSettings.BFileType = 2;
                }

                if (Int16.Parse(TypeID.Items[i].ToString()) == 3)
                {
                    BSettings.DBName = dbNames[TableRuns];
                    BSettings.DBTables = BackupItems.Items[i].ToString();
                    BSettings.BFileType = 3;
                    TableRuns++;
                }
                addVarialbesToDataSet(Int16.Parse(TypeID.Items[i].ToString()));
            }
            BSettings.SaveSettings(ref myDataSet, BackupPath.Items[0].ToString() + "\\" + BackupName.Text + ".xml");
            TableRuns = 0;

            dataGridView1.DataSource = myDataSet;
            dataGridView1.DataSource = myDataSet.Tables[0];
            dataGridView1.Refresh();
        }

        private void addVarialbesToDataSet(int id)
        {
            object[] itemArray = new object[9];

            if (id == 1)
            {
                itemArray[0] = BackupName.Text;
                itemArray[1] = BSettings.BFileType;
                itemArray[2] = null;
                itemArray[3] = null;
                itemArray[4] = BSettings.OldPath;
                itemArray[5] = BSettings.NewPath;
                itemArray[6] = null;
                itemArray[7] = null;
                itemArray[8] = null;

                myDataRow = myDataTable.NewRow();
                myDataRow.ItemArray = itemArray;

                myDataTable.Rows.Add(myDataRow);
            }
            if (id == 2)
            {
                itemArray[0] = BackupName.Text;
                itemArray[1] = BSettings.BFileType;
                itemArray[2] = null;
                itemArray[3] = null;
                itemArray[4] = BSettings.OldPath;
                itemArray[5] = BSettings.NewPath;
                itemArray[6] = null;
                itemArray[7] = null;
                itemArray[8] = null;

                myDataRow = myDataTable.NewRow();
                myDataRow.ItemArray = itemArray;

                myDataTable.Rows.Add(myDataRow);
            }
            if (id == 3)
            {
                itemArray[0] = BackupName.Text;
                itemArray[1] = BSettings.BFileType;
                itemArray[2] = null;
                itemArray[3] = null;
                itemArray[4] = null;
                itemArray[5] = null;
                itemArray[6] = BSettings.ConType;
                itemArray[7] = BSettings.DBName;
                itemArray[8] = BSettings.DBTables;

                myDataRow = myDataTable.NewRow();
                myDataRow.ItemArray = itemArray;

                myDataTable.Rows.Add(myDataRow);
            }
        }


Svara

Sv: Problem med DataSet

Postades av 2007-05-18 09:54:17 - Pelle Johansson

Jag funderar på om det inte vore enklare att bara ha en ini.fil som du arbetar med?


Svara

Sv: Problem med DataSet

Postades av 2007-05-18 22:03:04 - Stellan Andersson

Hej,

Jag ser inget direkt fel i den ovanstående koden, men felet kan ju ligga i någon av metoderna FillColumnNames() eller BSettings.SaveSettings(...). Om du inte har löst problemet så får du gärna göra ett nytt inlägg med de metoderna i så kan jag kolla vidare på det.

/Stellan


Svara

Sv: Problem med DataSet

Postades av 2007-05-21 08:22:12 - David Zander

Jag var ute och sökte på bra sätt att spara ner en settingsfil dock verkade det som de flesta bara hade ett par settings och rekomenderade .settings, men så fann jag på codeprodjects hemsida en som gjort en settingsfil som var av formatet .ini men han blev av andra på detta forumet rekomenderad att använda sig av XML istället så det är av den anledningen jag gjort på det sätt jag gjort.
Och här kommer resten av den efterfrågade koden.

class BackupXMLSettings
{
private string backupName;
private int bfileType;
private string username;
private string userPass;
private string oldPath;
private string newPath;
private int conType = 0;
private string dbName;
private string dbTables;


public string BackupName
{
get
{
return backupName;
}
set
{
backupName = value;
}
}
public int BFileType
{
get
{
return bfileType;
}
set
{
bfileType = value;
}
}
public string UserName
{
get
{
return username;
}
set
{
username = value;
}
}
public string UserPass
{
get
{
return userPass;
}
set
{
userPass = value;
}
}
public string OldPath
{
get
{
return oldPath;
}
set
{
oldPath = value;
}
}
public string NewPath
{
get
{
return newPath;
}
set
{
newPath = value;
}
}
public int ConType
{
get
{
return conType;
}
set
{
conType = value;
}
}
public string DBName
{
get
{
return dbName;
}
set
{
dbName = value;
}
}
public string DBTables
{
get
{
return dbTables;
}
set
{
dbTables = value;
}
}

public void LoadSettings()
{
}

public void SaveSettings(ref DataSet ds, string locOnDisk)
{
//string settingsInfo = ds.GetXml();

StreamWriter xmlSW = new StreamWriter(locOnDisk);
ds.WriteXml(xmlSW, XmlWriteMode.WriteSchema);
xmlSW.Close();
}
}





private void FillColumnNames()
{
myDataTable.Columns.Add("BackupName");
myDataTable.Columns.Add("FileType");
myDataTable.Columns.Add("Username");
myDataTable.Columns.Add("UserPass");
myDataTable.Columns.Add("OldPath");
myDataTable.Columns.Add("NewPath");
myDataTable.Columns.Add("ConType");
myDataTable.Columns.Add("dbName");
myDataTable.Columns.Add("dbTables");
}


Svara

Sv:Problem med DataSet

Postades av 2007-05-21 21:56:03 - Stellan Andersson

Problemet ser ut att göra med följande rad:

myDataTable = new DataTable(BackupName.Text);


Du skapar en ny datatabell men lägger inte till den i datasetet.
Då du får ut kolumnnamnen i filen så antar jag att du initialt skapar en tabell med rätt kolumndefinitioner som du lägger till datasetet. Problemet är att då du skapar en ny datatabell sätter du om medlemsvariabeln myDataTable till den nya datatabellen du skapat, men datasetet refererar fortfarande till den gamla tabellen.


Svara

Sv: Problem med DataSet

Postades av 2007-05-22 08:53:43 - David Zander

Jepp, såg det igår efter jag kollade igenom koden några gånger, irriterande med sånna där små missar man gör.
Jag la till:
myDataSet.Tables.Add(myDataTable);
i Save_Button metoden och sen funkade allt felfritt.
Har dock stött på ett nytt problem i programmet, settings filen måste ju överleva en total dator krash och jag har lite problem med var den ska sparas.
Optimalt så borde det ju vara där användaren lägger backupen men om han väljer flera backup ställen för olika "backup typer" så kommer jag ju behöva spara ner en massa paths någonstans.


Svara

Sv: Problem med DataSet

Postades av 2007-05-23 07:05:27 - Olof Lidström

Är det inte bara att du glömt

DataTable.AcceptChanges;


Svara

Sv: Problem med DataSet

Postades av 2007-05-25 14:29:03 - Andreas Thorarins

för att slippa koda så mycket finns ett enklare sätt att spara parametra, finns ett bra exempel här

http://blogs.vertigosoftware.com/swarren/archive/2006/11/28/4115.aspx

man använder sig System.Configuration.KeyValueConfigurationCollection


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 371
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