0

您好,我在将 vb 转换为 c sharp 时遇到问题

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);
4

3 回答 3

1

尝试this.ListBox1.SelectedItem[0]代替this.ListBox1.SelectedItem(0)
C# 使用方括号表示数组,但 VB.NET 使用括号表示数组。

于 2013-10-27T15:49:45.593 回答
1

代替

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());

以下链接可能有用:

CodeProject - VB.NET 和 C# 的完整比较

维基百科 - C Sharp 和 Visual Basic .NET 的比较

代码转换器:

DeveloperFusion - 将 VB.NET 转换为 C#

DeveloperFusion - 将 C# 转换为 VB.NET

于 2013-10-27T15:51:16.277 回答
1

如果您Listbox只有一个选定的项目,请将您的代码更改为;

cmd.Parameters.AddWithValue("@Id_Sh", this.ListBox1.SelectedItem.ToString);

如果您Listbox有多个选定的项目并且您的SelectionModeis MultiExtended,则可以使用ListBox.SelectedIndiceslike;

cmd.Parameters.AddWithValue("@Id_Sh", this.ListBox1.SelectedIndices[0].ToString);
于 2013-10-27T15:56:20.310 回答