Hej! har inte sysslat så mycket med c# men ser nog bra ut det där.. Hejsan.Motsv. funktionsanrop
jag vill använda mig av en motsv funktion. Dvs ha en rutin som returnerar ett värde. Vad jag har sett så finns det ingen "function" i C# så därför behöver jag hjälp med att hitta motsvarande.
Här är min kod
först så har vi en listview som fylls. I den så skall ett värde översättas
<code>
while (rst.Read())
{
ListViewItem item1 = new ListViewItem(rst["Filmid"].ToString(),0);
item1.SubItems.Add(rst["Film"].ToString().Trim());
tmpValue = Kategori_type((rst[0]));' Här vill jag ha min funktion
item1.SubItems.Add(tmpValue); 'Här skall värdet in i listviewn
item1.SubItems.Add(rst["Utlanad"].ToString().Trim());
item1.SubItems.Add(rst["Den"].ToString().Trim());
listView1.Items.Add(item1);
}
</code>
Själva rutinen för "Funktionen" ser ut så här
<code>
public string Kategori_type(int p_Katid)
{
string ConnectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DVDFilmer;Data Source=TYRONNE;";
string SQL ="Select Kategorinamn from Filmer where katid"= p_Katid;
string strKatnamn;
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(SQL,con);
con.Open();
SqlDataReader rst;
rst = cmd.ExecuteReader();
while (rst.Read())
{
strKatnamn = rst["Kategorinamn"].ToString();
}
return strKatnamn;
}
</code>
Men detta fungerar ju inte jag får felet
"The best overload match forFilmer.Kategori.Kategori_type(int p_Katid) has some invalid arguments!
DVS det blir ett blått streck under raden
<code>
tmpValue = Kategori_type((rst[0]));// Här vill jag ha min funktion
</code>
Det jag igentligen är ute efter är motsv VB
<code>
tmpValues = Kategori_type(rst("Katid"))
private function Kategori_type(Dim byval intId as integer)
'Hämtar i datbasen kategorinamn för katid, dvs ett strängvärde som skall returneras
Kategori_type=rst("Kategorinamn")
end function
</code>
Vad är det jag gör fel?. Önskar gärna en förklaring på hur det fungerar..
/phinalaSv: Motsv. funktionsanrop
Däremot ska du kolla upp så att rst[0] verkligen är en integer och inget annatSv: Motsv. funktionsanrop
Genom att titta på din kod, så tror jag att rst är en SqlDataReader, och rst[0] kommer att returnera ett object. Denna datatyp kan inte konverteras till int automatiskt, utan du måste göra det. Om du gör detta, och skickar till din funktion, så kommer koden att fungera.