Autor Beitrag
Vegeto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Fr 19.10.12 14:36 
Hallo,

dachte ich würde zurecht kommen, aber es geht doch nciht ohne euch :)

Also das mit Range habe ich verstanden und geschafft :)

Doch jetzt habe ich einige weitere Fragen :)
Hoffe ihr könnt mir helfen.

hier zunächst mein Code:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
int betrag;
string art;
DateTime datum;
Boolean zv;

Excel.Application excelApplication;
Excel.Workbook excelWoorkbook;
Excel.Worksheet excelWoorksheet;
Excel.Range excelRange;

excelApplication = new Excel.Application();
excelApplication.Visible = false;

string appPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
string filename = Path.Combine(appPath, @"C:\Geld.iqy");

excelWoorkbook = excelApplication.Workbooks.Open(filename);
excelWoorksheet = excelWoorkbook.Worksheets[1];
excelRange = excelWoorksheet.UsedRange;

// habe ich von der Seite :)
int rCnt = 0;        
for (rCnt = 1; rCnt <= excelRange .Rows.Count; rCnt++)
        {
            
            if ((range.Cells[rCnt, 1as Excel.Range).Value2 != null)
            {
                try
                {
                   betrag = (range.Cells[rCnt, 1as Excel.Range).Value2;
                   art = (range.Cells[rCnt, 2as Excel.Range).Value2;
                   datum = (range.Cells[rCnt, 3as Excel.Range).Value2;
                   zv = (range.Cells[rCnt, 4as Excel.Range).Value2;
                 }
              }
         }
string anweisung = String.Format("INSERT INTO Daten" +
                            "(Betrag,Art,Datum, ZV)  Values" +
                            "('{0}','{1}','{2}','{3}')", betrag, art, datum, zv);
                        SqlCommand cmd = new SqlCommand(anweisung, Con);
                        cmd.ExecuteNonQuery();


So un nun möchte ich diese Einzelnen variablen in eine Zweile zusammen fügen!?
Dachte mir speichere Sie in eine Datenbank ab.

Doch wenn ich diesen Code so ausführe kommt bei "betrag = (range.Cells[rCnt, 1] as Excel.Range).Value2;" der Fehler == Der string-Typ kann nicht implizit in Double - Typ konvertiert werden.
Wobei ich diesen Fehler nciht verstehe, da in der Excel Tabelle dieser Wert zu 100 % ein Double-Typ ist!!!

LG
Greenberet
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: So 21.10.12 01:07 
Hi,

der Typ ist immer ein String (soweit ich mich erinnere). Er wird halt je nach Formatierung anders dargestellt.
Mit anderen Worten: Du hast einen String der wie ein Double aussieht!

Du musst den Wert jetzt nur nicht mit Double.Parse / Double.TryParse in ein double umwandeln.

lg
green
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mo 29.10.12 09:47 
Das habe ich auch verstanden Danke :)

Doch meine Hauptfrge ist es, wie kann ich einzelne Variablen(sei es Int,String,Double,string,int,DateTime) zur einer Zeile zusammen fügen?

Geht das vielleicht mittels Insert anweisung bei SQL?

Also muss ich einfach sowas aufabeun:
INSERT INTO Bla (SpalteA(varchar(50)), SpalteB(varchar(50)) , SplateC(varchar(50)) , SpalteD(varchar(50)) )
Values (Variable(Int), Variable(String), Variable(DateTime), Variable(String)

Würde diese Anweisung, das tuen was ich will?

LG