2015-05-18 3 views
0

Я сохраняю значение флажка, используя «Да» & «Нет», и моя проблема в том, что у меня есть кнопка, которая позволит пользователю изменить значение.Заменить предыдущее значение флажка при нажатии кнопки

Итак, моя логика заключается в том, что при нажатии кнопки значение флажка, которое не будет, изменится на «Да».

Вот что я должен сохранить информацию первоначально:

 public void StoredProcedure() 
    { 
     string privateItem = Private.Checked ? "Y" : "N"; 

     connection.connection1(); 
     if (connection.con.State == ConnectionState.Closed) 
      connection.con.Open(); 
     using (SqlCommand cmd = new SqlCommand("SaveImage", connection.con)) 
     { 
      cmd.Parameters.Add("@privatecheck", SqlDbType.Char).Value = privateItem; 

      cmd.ExecuteNonQuery(); 
      cmd.Parameters.Clear(); 
     } 
     connection.con.Close(); 
    } 

В принципе у меня есть хранимая процедура в моей базе данных, которая сохранит свою информацию.

Теперь я решил обновить одно значение, в основном, сделать то же самое, но это привело к ошибке для меня.

Любая помощь по перезаписыванию ранее сохраненного значения флажка была бы чрезвычайно полезна!

Благодаря

+0

Ошибка, пожалуйста, уточните? Как Char Data Type получает присвоенное значение bool? – lloyd

+0

Пожалуйста, покажите/сообщите сообщение об ошибке и код, который сгенерировал ошибку. – Pseudonym

+0

Вы хотите изменить значение флажка в элементе управления флажком или значение базы данных? – Pseudonym

ответ

0

Я не совсем ясно, что вы просите, так что мой ответ дает два возможных решения:

Если вы хотите изменить или не сам элемент управления проверяется или не проверяется здесь представляет собой фрагмент образец кода из MSDN:

private void AdjustMyCheckBoxProperties() 
{ 
    // Change the ThreeState and CheckAlign properties on every other click. 
    if (!checkBox1.ThreeState) 
    { 
     checkBox1.ThreeState = true; 
     checkBox1.CheckAlign = ContentAlignment.MiddleRight; 
    } 
    else 
    { 
     checkBox1.ThreeState = false; 
     checkBox1.CheckAlign = ContentAlignment.MiddleLeft; 
    } 

    // Concatenate the property values together on three lines. 
    label1.Text = "ThreeState: " + checkBox1.ThreeState.ToString() + "\n" + 
        "Checked: " + checkBox1.Checked.ToString() + "\n" + 
        "CheckState: " + checkBox1.CheckState.ToString(); 
} 

Если вместо этого вы хотите изменить столбец в таблице, обновление SQL заявление будет делать что здесь, MSDN имеет хорошее пошаговое руководство о том, как использовать LINQ и SQL для достижения этой цели, которую я бы рекомендовал прочитать.

Однако я вижу, что вы используете SqlCommand так вот пример кода о том, как выполнить команду обновления (снова) от MSDN:

private static void CreateCommand(string queryString, 
    string connectionString) 
{ 
    using (SqlConnection connection = new SqlConnection(
       connectionString)) 
    { 
     SqlCommand command = new SqlCommand(queryString, connection); 
     command.Connection.Open(); 
     command.ExecuteNonQuery(); 
    } 
} 

Все вышеперечисленные куски должны помочь вам создать решение.

Смежные вопросы