Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MySql更新赢得';行不通_C#_Mysql - Fatal编程技术网

C# MySql更新赢得';行不通

C# MySql更新赢得';行不通,c#,mysql,C#,Mysql,你好!我需要帮助。。 这是我在c#上的代码,无论何时执行,都不会发生任何错误或提示 string myConnection = " datasource=localhost;port=3306;username=root;password=wolf"; string Query = " UPDATE bikerentaldb.tblbikes SET status='Rented',renteddate=NOW(),assignedreturndate='" + txtToBeR

你好!我需要帮助。。 这是我在c#上的代码,无论何时执行,都不会发生任何错误或提示

string myConnection = " datasource=localhost;port=3306;username=root;password=wolf";
        string Query = " UPDATE bikerentaldb.tblbikes SET status='Rented',renteddate=NOW(),assignedreturndate='" + txtToBeReturned.Text + "' WHERE bikeID='" + txtBikeIdRent.Text + "'"; 
        MySqlConnection myConn = new MySqlConnection(myConnection);
        MySqlCommand SelectCommand = new MySqlCommand(Query, myConn);
        myConn.Open();
        MessageBox.Show("Data Saved");
        myConn.Close();
我不确定Upate为什么不能工作,但是当我在MySql上执行这段代码时

UPDATE bikerentaldb.tblbikes SET status='Rented',renteddate=NOW(),assignedreturndate=NOW() WHERE bikeID='2';

它工作正常,有人能帮我吗?

任何事情都应该执行命令。在打开连接后,代码将错过对SelectCommand.ExecuteOnQuery()行的调用。然而,在修复了这个小错误之后,您可能会遇到其他问题,这些问题是连接到一起形成命令文本的值。如果用户键入的日期无效怎么办?你听说过吗

这是在向输入和参数添加验证以将值发送到数据库后编写代码的方式

int bikeID = 0;
if(!Int32.TryParse(txtBikeIdRent.Text, out bikeID)
{
     MessageBox.Show("Invalid number");
     return;
}
DateTime returnDate;
if(!DateTime.TryParse(txtToBeReturned.Text , out returnDate)
{
     MessageBox.Show("Invalid date");
     return;
}
string myConnection = ".....";
string Query = @"UPDATE bikerentaldb.tblbikes 
    SET status='Rented', renteddate=NOW(),
        assignedreturndate=@date
        WHERE bikeID=@id"; 
using(MySqlConnection myConn = new MySqlConnection(myConnection))
using(MySqlCommand cmd = new MySqlCommand(Query, myConn))
{
     myConn.Open();
     cmd.Parameters.Add("@date", MySqlDbType.Date).Value = returnDate;
     cmd.Parameters.Add("@id", MySqlDbType.Int32).Value = bikeID;
     int rowUpdated = cmd.ExecuteNonQuery();
     if(rowUpdated > 0)
         MessageBox.Show("Record updated");
     else
         MessageBox.Show("No record match");
}

如果命令变量不实际选择任何东西,请考虑重命名。