我如何将组合框字符串值转换为整数以在 C# 中解析为 mysql 数据库
how do i convert combobox string values to integer to be parsed into mysql database in c#
如标题所述,如何在选择 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 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。我如何编写它以接受 In-Active 作为值 1。
也许你可以通过条件运算符来做到这一点:
cmd.Parameters.AddWithValue("@piActive", ((comboBox1Status.SelectedText == "Active") ? 1 : 0));
如果选择 "Active",这会将 @piActive
设置为 1,否则将 @piActive
设置为 0。
如标题所述,如何在选择 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 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。我如何编写它以接受 In-Active 作为值 1。
也许你可以通过条件运算符来做到这一点:
cmd.Parameters.AddWithValue("@piActive", ((comboBox1Status.SelectedText == "Active") ? 1 : 0));
如果选择 "Active",这会将 @piActive
设置为 1,否则将 @piActive
设置为 0。