C# 如何将combobox字符串值转换为整数,以便在c中解析为mysql数据库#
正如标题所示,在选择In-Active时,如何将组合框中的两个字符串值(Active和In-Active)进行转换,将列iActive下数据库列默认值的值从0增加到1。到目前为止,我尝试了Convert.Toint32并将存储过程更改为C# 如何将combobox字符串值转换为整数,以便在c中解析为mysql数据库#,c#,mysql,combobox,C#,Mysql,Combobox,正如标题所示,在选择In-Active时,如何将组合框中的两个字符串值(Active和In-Active)进行转换,将列iActive下数据库列默认值的值从0增加到1。到目前为止,我尝试了Convert.Toint32并将存储过程更改为 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_edit_user` ( pUserID INT(11), pEmployee_Name VARCHAR(15), pUser_Name
CREATE
DEFINER=`root`@`localhost`
PROCEDURE `sp_edit_user`
(
pUserID INT(11),
pEmployee_Name VARCHAR(15),
pUser_Name VARCHAR(15),
pRole VARCHAR(15),
piActive INT(1)
)
BEGIN
UPDATE t_user_auth SET Employee_Name = pEmployee_Name, User_Name = pUser_Name, Role = pRole, iActive = piActive + 1
WHERE UserID = pUserID;
END$$
DELIMITER ;
代码是
private void kryptonbtnSaveEdit_Click(object sender, EventArgs e)
{
var connectionString = ConfigurationManager.ConnectionStrings["Pigen"].ConnectionString;
using (MySqlConnection cnn = new MySqlConnection(connectionString))
using (MySqlCommand cmd = cnn.CreateCommand())
{
try
{
cnn.Open();
cmd.CommandText = "sp_edit_user";
cmd.CommandType = CommandType.StoredProcedure;
// MessageBox.Show((comboBox1Status.SelectedValue), "");
cmd.Parameters.AddWithValue("@pUserID", Convert.ToInt64(lbluserID.Text));
cmd.Parameters.AddWithValue("@pEmployee_Name", txtboxEmploy.Text);
cmd.Parameters.AddWithValue("@pUser_Name", txtboxuser.Text);
cmd.Parameters.AddWithValue("@pRole", comboBox2Role.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@piActive", Convert.ToInt32(comboBox1Status.SelectedValue));
//if(comboBox1Status.SelectedText != "Active")
//{
// int m = Int32.Parse("In-Active");
//}
我注意到的是,所有值都从0增加到1,即使选择仍然处于活动状态,可能是从我的存储过程iActive+1。如何将其写入活动中作为值1接受。可能您可以通过条件运算符执行此操作:
cmd.Parameters.AddWithValue("@piActive", ((comboBox1Status.SelectedText == "Active") ? 1 : 0));
如果选择了“活动”,则将
@piActive
设置为1,否则将@piActive
设置为0 不需要将.ToInt32转换为<代码>1
和0
已经是整数。它仅在从活动转换为处于活动状态时有效,但无法从处于活动状态转换回活动状态。为什么使用iActive=piActive+1
?您现在可以直接使用iActive=piActive
。是的,我已将其从iActive=piActive+1
更改为iActive=piActive
,当您从处于活动状态更改为活动状态时,您无法将其更改回处于活动状态,并且在我的数据库中,默认值为0(活动)