c# - 我数据库中的所有数据都是更新的。如何只更新 1 行?

标签 c# mysql

using(MySqlConnection conn = new MySqlConnection(myConstring))                                  
using (MySqlCommand cmd = new MySqlCommand(query, conn)                    
{                        
    conn.Open();                    
    cmd.Parameters.Add("?compname", Tb_AddWsComp.Text);                        
    cmd.Parameters.Add("?alloc", Tb_AddWsAlloc.Text);                        
    cmd.Parameters.Add("?department", Cb_AddWsDepart.Text);                        
    cmd.Parameters.Add("?facility", Cb_AddWsFacility.Text);                        
    cmd.Parameters.Add("?ipadd", Tb_AddWsIpAd.Text);                        
    cmd.Parameters.Add("?emailadd", Tb_AddWsEmail.Text);                        
    cmd.Parameters.Add("?os", Cb_AddWsOs.Text);                        
    cmd.Parameters.Add("?processor", Tb_AddWsProcess.Text);                        
    cmd.Parameters.Add("?memory", Tb_AddWsMemory.Text);                        
    cmd.Parameters.Add("?pkey", Cb_AddWsPkey.Text);                        
    cmd.Parameters.Add("?mskey", Tb_AddWsOfficeKey.Text);                        
    cmd.Parameters.Add("?sophos", Cb_AddWsSophos.Text);                        
    cmd.Parameters.Add("belarcdate", belarcDate);                        
    cmd.Parameters.Add("?remarks", Tb_AddWsRemarks.Text);                        
    cmd.Parameters.Add("?sysadmin", Tb_AddWsSysAd.Text);

    MessageBox.Show("Updated");                        
    cmd.ExecuteNonQuery();                        
    conn.Close();
}

string query = "UPDATE addwsinventory SET compname =?compname,alloc=? alloc,department=?department,facility=?fac‌​ility,  
ipadd=?ipadd,e‌​mailadd= emailadd,os‌​=?os,processor=?proc‌​essor,memory=?memory‌​,pkey=?pkey,mskey=?m‌​ skey,sophos=?sophos,‌​  
belarcdate=?belarcda‌​te,remarks=?remarks,‌​sysadmin=sysadmin "; 

上面的代码可以正常工作,但我数据库中的所有数据都已被修改,我该如何解决这个问题?

最佳答案

Update将更改现有数据,您需要使用 WHERE 指定要更改的数据.

UPDATE [ database_name . [ schema_name ] . | schema_name . ] table_name   
SET { column_name = { expression | NULL } } [ ,...n ]  
[ FROM from_clause ]  
[ WHERE <search_condition> ]   
[ OPTION ( LABEL = label_name ) ]  
[;] 

如果是:

string query = "UPDATE addwsinventory SET compname .../... WHERE <your condition> ";

使用Insert插入到数据库中,如果你只是想添加一个新值。

INSERT [INTO] table_or_view [(column_list)] data_values

关于c# - 我数据库中的所有数据都是更新的。如何只更新 1 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45480806/

相关文章:

c# - 出错后重新启用 Microsoft Word 加载项

c# - SSIS:无法将类型为 'System.Decimal' 的对象转换为类型 'System.Char[]'

c# - 取消静态 HttpClient 上的异步调用

php - 我只得到我 table 的第一行

mysql - 无法更改 MySQL 密码

javascript - 如何在 C#/Razor/KendoUI 中使用嵌套的 DropDownList 创建网格?

c# - 访问 TreeView 中的父节点?

java - 如何在新打开的 jframe 上关闭以前的 jframe

MySQL多表全文检索

mysql - 在具有多行的 INSERT 上生成 MAX(field1)+1