Håller på att försöka lära mig C# och ska nu göra en DB-kontroll med SP. Problemet är bl.a. att jag tänker för mycket VB. Hans, Aj då, hoppades det gick med lite hokus pokus :) Hans, Just syntaxen jag är ute efter. De flesta förklarar principen och inte syntaxen. Men jag bugar och tackar :)C#
<code>
private void CheckUser()
{
int intResult;
string source = "server='(local)'; trusted_connection=true; database=db";
sqlCommand cmd = new SqlCommand("CheckUser", source);
cmd.CommandType = CommandType.StoredProcedure;
cmd.parameters.addwithvalue("@username", TextBox1.Text);
cmd.parameters.addwithvalue("@password", TextBox2.Text);
source.Open();
cmd.ExecuteNonQuery();
intResult = CInt(cmdSelect.Parameters("RETURN_VALUE").Value);
source.Close();
if (intResult < 0)
{
if (intResult == -1)
{
Msg.Text = "Felaktigt användarnamn eller lösen.";
}
else
{
Msg.Text = "Felaktigt användarnamn eller lösen.";
}
}
return intResult;
}
</code>
Får flera fel här. Bl.a. klagar den på SqlCommand trots att jag har using System.Data.SqlClient;
Den klagar även på source.Open(); och CInt.
Hoppas på hjälp :)Sv: C#
Bara för du går över till C# så kan du inte trolla :-D
(1) Din variabel <b>source</b> är en string och inte av typen <b>SqlConnection</b> och det är därför du inte kan anropa metodne <b>Open</b> på den.
(2) C# är case-sensitiv dvs. det har stor betydelse att du skriver rätt med stora och småbokstäver, vb.net förlåter dig om du inte kör med <b>Option Strict</b> så i ditt fall kan du inte skriva <b>sqlCommand</b> med litet <b>s</b> då klassen heter <b>SqlCommand</b>
(3) <b>CInt</b> är en VB.NET sak - något som definitivt inte behövs i språket. Du kan / skall använda dig av någon av de många konverterings funktionerna som finns så som <b>Convert.ToInt32()</b> eller varför inte <b>int.Parse()</b> .. det är en liten liten skillnade på dem - läs om dem i dokumentationen. Nästan alla numeriska typer har en egen <b>Parse</b> metod och klassen <b>Convert</b> innehåller metoder för att konvertera från det mesta till det mesta.
Lycka till!Sv:C#
Någon rekommendation på en bra sida där man tar upp databaskopplingar mm i C#? Har hittat en massa sidor, men inte någon som är bra.Sv: C#
Oftast är svaret på denna fråga; MSDN. Så är det även i detta fallet =)
http://msdn.microsoft.com/library/en-us/cpguide/html/cpconaccessingdatawithadonet.asp?frame=true
Och även ASP.NET QuickStart på www.asp.net visar hur man arbetar med databaskopplingar. För övrigt fungerar databaskopplingar på exakt samma sätt i C# som i VB.NET bara det är lite annan syntax =)Sv:C#