小编use*_*417的帖子

在执行操作之前,如何检查ALL方法是否为真

我有一个问题,我在表单中实施了大约5次验证检查.每个都位于自己的方法中Is_XXX_Valid().我正在寻找一种方法来确定每个方法return true;应该显示错误消息.

然而,这是出现问题的地方,我有一个部分工作的解决方案,因为如果先前的方法返回,则无法运行后续方法 false

这是我正在使用的当前代码:

private void Button_Click(object sender, EventArgs e)
  {
    DialogResult validation_msgbox = MessageBox.Show("Are you sure you would like to submit this form?", "Submit Form?", MessageBoxButtons.YesNo);

    // Run each validaion check

    if (IsAAAValid() && IsBBBValid())
    {
      //Continue and submit data
    }
    else
    {
      //Display the errors
      DialogResult Textbox_validation = MessageBox.Show(ErrorText, "Some errors were found.", MessageBoxButtons.OK);
    }
  }
Run Code Online (Sandbox Code Playgroud)

使用上面的代码作为示例,如果IsAAAValid()返回false,则不执行第二个方法,因此未验证其中的数据,如果发现多个错误,则导致不正确的对话框.

谢谢!

c# winforms

3
推荐指数
2
解决办法
97
查看次数

添加参数给出错误 - 必须声明标量变量"@variable"

我正在使用以下代码尝试从SQL Server数据库表返回结果

 MySqlCommand.CommandText = "SELECT * FROM dbo.MyTable WHERE [My Id] = @variable";
 MySqlCommand.Parameters.Add("@variable", SqlDbType.Int).Value = GetsMyId(this.Mycombobox.SelectedItem.ToString());
Run Code Online (Sandbox Code Playgroud)

我尝试过使用.Parameters.AddWithValue("@ variable",value); 但我已经了解了这些缺点并决定使用这种方法.代码既不适用也不适用.返回错误'必须声明标量变量'@variable"'

我不确定我错过了什么,因为我有一个可以实现类似功能的工作版本.在这种情况下,上下文不同,此代码遵循原始

//Line that fixes it (added at this point) for anyone else that encounters the issue.
//MySqlConnection.connection = MyConnection;

System.Data.SqlClient.SqlDataAdapter Adapter = new System.Data.SqlClient.SqlDataAdapter(MySqlCommand.CommandText, conn.ConnectionString);

DataTable MyDataTable = new DataTable();

Adapter.Fill(MyDataTable);
Run Code Online (Sandbox Code Playgroud)

在最后一行抛出错误 Adapter.Fill(MyDataTable)

有什么愚蠢的我错过了或者是否存在一些我不知道添加参数值和DataAdapters之间的不兼容性?

c# sql-server

0
推荐指数
1
解决办法
375
查看次数

标签 统计

c# ×2

sql-server ×1

winforms ×1