2012-05-01 7 views
2

Я использую следующий код для сохранения значения TextBox в базе данных. Однако, когда я вставляю значение, оно будет сохраняться в новой строке. Как я могу сохранить его в той же строке?Вставить значение TextBox в базу данных

private void button1_Click(object sender, EventArgs e) 
{ 
    string pass = textBox1.Text; 
    sql = new SqlConnection(@"Data Source=PC-PC\PC;Initial Catalog=P3;Integrated Security=True"); 
    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = sql; 
    cmd.CommandText = ("Insert [MyTable] ([MyColumn]) Values (@pass)"); 
    cmd.Parameters.AddWithValue("@pass", pass); 
    sql.Open(); 
    cmd.ExecuteNonQuery(); 
    sql.Close(); 
} 
+0

Как вы идентифицируете запись? –

ответ

4

Используйте команду обновления вместо вставки.

cmd.CommandText = "update YourTable set FieldName = YourValue where KeyField = YourKeyValue" 
+0

можете ли вы написать код? – aliprogrammer

+0

Искренне, нет, я не могу. По какой-то причине я не позволю мне отредактировать мой пост ... поэтому я постараюсь поместить его здесь. –

+0

cmd.CommandText = "update YourTable set FieldName = YourValue, где KeyField = YourKeyValue"; –

2

Вы должны использовать UPDATE вместо INSERT похожего на это:

UPDATE yourTable 
SET yourColumn = newValue 
WHERE (your criteria needs to go here) ID = recordId 

Вам нужно создать оператор UPDATE для записи. Если ваше намерение обновить все то ваше заявление будет:

UPDATE yourTable 
SET yourColumn = newValue 

в противном случае, вы хотите, чтобы указать, какие записи в UPDATE

UPDATE yourTable 
SET yourColumn = newValue 
WHERE ID = yourID 

private void button1_Click(object sender, EventArgs e) 
{ 
    string pass = textBox1.Text; 
    sql = new SqlConnection(@"Data Source=PC-PC\PC;Initial Catalog=P3;Integrated Security=True"); 
    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = sql; 
    cmd.CommandText = "UPDATE MyTable SET MyColumn = @pass WHERE [email protected]" 
    cmd.Parameters.AddWithValue("@pass", pass); 
    cmd.Parameters.AddWithValue("@id", 1); 
    sql.Open(); 
    cmd.ExecuteNonQuery(); 
    sql.Close(); 
} 

Вот сайт с некоторыми образцами, объясняющих с помощью ADO. NET:

Simple ADO.NET Database Read, Insert, Update and Delete using C#

How to use UPDATE in ado net

+0

это сработало. спасибо – aliprogrammer

+1

ГДЕ говорит вам, что вам нужно будет указать правильную строку для обновления, иначе вы обновите все строки, которые, как я думаю, не намерены. – Taryn

+0

да, он обновит все строки. как я могу просто обновить его для своей строки намерения? – aliprogrammer

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