J'avais auparavant un code dans VB.NET qui cherchait une valeur dans la base de données et m'a fourni un résultat. C'était le code:Code à rechercher dans SQL pour une valeur et, si présent, exécuter un code
Class UserData
Dim theResults = New List(Of UserData)
Property Name As String
Property LastName As String
End Class
Function GetData(ByVal clientNo As Integer) As List(Of UserData)
Dim theResults = New List(Of UserData)
Dim connStr = "serverstring"
Using conn = New SqlConnection(connStr)
Dim sql = "SELECT [Name], [PaternalLastName], [MaternalLastName] FROM [SocioInfo] Where ([SocioNum] = @SocioNum)"
Dim sqlCmd = New SqlCommand(sql, conn)
sqlCmd.Parameters.AddWithValue("@SocioNum", CStr(txtInput.Text))
conn.Open()
Dim rdr = sqlCmd.ExecuteReader
While rdr.Read
theResults.Add(New UserData With {
.Name = rdr.GetString(0),
.LastName = rdr.GetString(1),
.Maternal = rdr.GetString(2)
})
End While
conn.Close()
End Using
Return theResults
End Function
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
Dim clientNo As Integer = 0
Dim myResults = GetData(clientNo)
If Integer.TryParse(txtInput.Text, clientNo) Then
If myResults.Count = 1 Then
Execute Code
Else
MessageBox.Show("NAH")
End If
Else
MessageBox.Show("NAH")
End If
End Sub
Maintenant j'ai essayé de convertir ce code en C# mais échoué misérablement. J'ai utilisé des convertisseurs que j'ai trouvés en ligne et il a jeté des exceptions donc j'ai essayé de le faire à la main mais je ne connais pas les codes ni la manière correcte de le faire puisque j'apprends encore mes cordes en C#. Si quelqu'un pouvait aider ce serait grandement apprécié :)
C# Code:
{
theResults = new List<UserData>();
public string Nombre { get; set; }
public string Apellido { get; set; }
public string ApellidoMaterno { get; set; }
}
public List<UserData> GetData(int clientNo)
{
dynamic theResults = new List<UserData>();
dynamic connStr = "Data Source=lsf-corapbk-01;Initial Catalog=Custmast_CO;Integrated Security=Yes";
using (conn == new SqlConnection(connStr))
{
dynamic sql = "SELECT [Name], [PaternalLastName], [MaternalLastName] FROM [SocioInfo] Where ([SocioNum] = @SocioNum)";
dynamic sqlCmd = new SqlCommand(sql, conn);
sqlCmd.Parameters.AddWithValue("@SocioNum", Convert.ToString(txtInput.Text));
conn.Open();
dynamic rdr = sqlCmd.ExecuteReader;
while (rdr.Read)
{
theResults.Add(new UserData
{
Nombre = rdr.GetString(0),
Apellido = rdr.GetString(1),
ApellidoMaterno = rdr.GetString(2)
});
}
conn.Close();
}
return theResults;
}
La plupart des exceptions sont dans la zone UserData.
Qu'est-ce que le code C# avez-vous, et quelles parties de celui-ci vous rencontrez des problèmes avec? – Amy
Les convertisseurs en ligne ne vont pas faire un aussi bon travail que la conversion manuscrite. En outre, il existe des idiomes entre VB/C# ... Si vous vous convertissez, vous apprendrez C# et ces idiomes. –
Postez le code C# et les exceptions que vous obtenez à la place du code VB. –