将 VB 代码转换为 C# 时出错
本文关键字:出错 转换 VB 代码 | 更新日期: 2023-09-27 18:37:11
您好,我在将 vb 转换为 c 尖锐时遇到问题
Dim Query As String = "UPDATE F_Shqip SET Lika_Sh=@Fjalet_Sh WHERE Id_Sh=@Id_Sh"
Dim cmd As SqlCommand = New SqlCommand(Query, con)
cmd.Parameters.AddWithValue("@Lika_Sh", Trim(Me.txbLikaSh.Text))
cmd.Parameters.AddWithValue("@Id_Sh", Me.ListBox1.SelectedItem(0).ToString)
在 c 尖锐中:
string Query = "UPDATE F_Shqip SET Lika_Sh=@Lika_Sh WHERE Id_Sh=@Id_Sh";
SqlCommand cmd = new SqlCommand(Query, con);
//two lines with errors
cmd.Parameters.AddWithValue("@Lika_Sh", Strings.Trim(this.txbLikaSh.Text));
cmd.Parameters.AddWithValue("@Id_Sh", this.ListBox1.SelectedItem(0).ToString);
如果您的Listbox
只有一个选定的项目,请将您的代码更改为;
cmd.Parameters.AddWithValue("@Id_Sh", this.ListBox1.SelectedItem.ToString);
如果您的Listbox
有多个选定项目,并且您的SelectionMode
是MultiExtended
,则可以使用 ListBox.SelectedIndices
代替;
cmd.Parameters.AddWithValue("@Id_Sh", this.ListBox1.SelectedIndices[0].ToString);
尝试this.ListBox1.SelectedItem[0]
而不是this.ListBox1.SelectedItem(0)
C# 对数组使用方括号,但 VB.NET 对数组使用括号。
而不是
cmd.Parameters.AddWithValue("@Lika_Sh", Strings.Trim(this.txbLikaSh.Text));
cmd.Parameters.AddWithValue("@Id_Sh", this.ListBox1.SelectedItem(0).ToString);
试试这个:
cmd.Parameters.AddWithValue("@Lika_Sh", this.txbLikaSh.Text.Trim());
cmd.Parameters.AddWithValue("@Id_Sh", this.ListBox1.SelectedItem[0].ToString());
以下链接可能有用:
代码项目 - VB.NET 和 C# 的完整比较
维基百科 - C Sharp 和 Visual Basic .NET 的比较
代码转换器:
DeveloperFusion - 将 VB.NET 转换为 C#
DeveloperFusion - 将 C# 转换为 VB.NET