webForumDet fria alternativet

Porta om ifrån VB 6 till C#

.NET

0 svar · 195 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Jag har en liten fin sub ifrån VB6 som sortera ut ej upptagna Arrno.
Den ser ut så här:

Sub EjUpptagnaArrNo()
Dim fldArrNo As ADODB.Field
Dim Index As Long
Dim Number As Long
Dim LastNumber As Long
   Con.CursorLocation = adUseClient
   SQL = "SELECT arrno FROM t_songtitlar  where arrno < 900 ORDER BY CAST(arrno as Int)"
   Set Rst = Con.Execute(SQL)
   If Not Rst.EOF Then
       Set fldArrNo = Rst("ArrNo")
       LastNumber = CLng(fldArrNo.Value) - 1
       Do Until Rst.EOF
          ' List1.AddItem fldArrNo.Value
           Number = CLng(fldArrNo.Value) - 1
           For Index = LastNumber To Number
               List4.AddItem Index
           Next
           LastNumber = Number + 2
        Rst.MoveNext
       Loop
   End If

Rst.Close
Set Rst = Nothing
End Sub

Nu så försöker jag att göra om den i C#

string fldArrNo;
double Index;
double Number;
double LastNumber;
string SQLstring = "SELECT arrno As OrgArrNo FROM t_songtitlar  where arrno < 900 ORDER BY CAST(arrno as Int)";
da = new SqlDataAdapter(SQLstring,con);
ds = new DataSet("frånLedigaArrNo");
try
{								
con.Open();
da.Fill(ds,"frånLedigaArrNo");
con.Close();
					
int rader = ds.Tables["frånLedigaArrNo"].Rows.Count;
nr = new string[rader];				
for(int a=0;a < rader;a++)
{
fldArrNo=(ds.Tables["frånLedigaArrNo"].Rows[a]["OrgArrNo"].ToString());
LastNumber = Convert.ToInt32(fldArrNo) -1;
Number = Convert.ToInt32(fldArrNo) -1;				
for(Index = LastNumber; Index < Number;Index++)
{						
comboBox13.Items.Add(Index.ToString());
LastNumber = LastNumber + 2;
}
}
}

Problemet är(tror jag) att jag inte får något värde i Index.
Några förslag? :l

264 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)