如何在C#中及时更新4个表数据 [英] how to update 4 tables data at time in C#

查看:56
本文介绍了如何在C#中及时更新4个表数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





如何在C#中更新4个表数据#

在每个1个公共列中都有。



我的代码更新了1个表。



how to update 4 tables data at time in C#
in each 1 common column is there.

my code which updates 1 table.

cmd.CommandText = "INSERT INTO SystemInfo VALUES('" + UserName + "','" + UserDomainName + "','" + UserMachineName + "','" + UserIP + "','" + UserOsVersion + "','" + UserSystemDirectory + "','" + UserCurrentDirectory + "','" + ProcessorName + "','" + ProcessMnufacturer + "','" + ProcessorID + "','" + ProcessorDescription + "','" + ProcessorVersion + "','" + ProcessorStatus + "','" + ProcessorDeviceId + "','" + OSCaption + "','" + OSSerialNumber + "','" + OSManufacturer + "','" + OSVersion + "','" + OSStatus + "','" + OSName + "','" + BiosName + "','" + BiosVersion + "','" + BiosSerialNumber + "','" + BiosManufacturer + "','" + BiosCurrentlanguage + "','" + BiosStatus + "')";
            }
            else
            {
                cmd.CommandText = "UPDATE SystemInfo SET" + " UserName='" + UserName + "', UserDomainName='" + UserDomainName + "',UserMachineName='" + UserMachineName + "',UserIP='" + UserIP + "', UserOsVersion='" + UserOsVersion + "',UserSystemDirectory='" + UserSystemDirectory + "',UserCurrentDirectory='" + UserCurrentDirectory + "', ProcessorName='" + ProcessorName + "', ProcessMnufacturer='" + ProcessMnufacturer + "',ProcessorID='" + ProcessorID + "',ProcessorDescription='" + ProcessorDescription + "',ProcessorVersion='" + ProcessorVersion + "',ProcessorStatus='" + ProcessorStatus + "',ProcessorDeviceId='" + ProcessorDeviceId + "', OSCaption='" + OSCaption + "',OSSerialNumber='" + OSSerialNumber + "',OSManufacturer ='" + OSManufacturer + "',OSVersion='" + OSVersion + "', OSStatus='" + OSStatus + "',OSName='" + OSName + "', BiosName='" + BiosName + "',BiosVersion='" + BiosVersion + "',BiosSerialNumber='" + BiosSerialNumber + "', BiosManufacturer='" + BiosManufacturer + "',BiosCurrentlanguage='" + BiosCurrentlanguage + "', BiosStatus='" + BiosStatus + "' Where UserName='" + UserName+"'" ;





这个只更新一张桌子。

任何人帮我解决这个问题



谢谢



with this am updating only one table.
anyone help me solving this query

Thanks

推荐答案

您无法在语句中更新多个表。这是sql的工作原理。但是你可以一个接一个地发出许多更新语句。如果您想要全有或全无的情况,可以在交易中执行这些。

这是一个很好的起点:在ADO.NET中使用事务 [ ^ ]
You can not update more than one table in a statement. This is how sql works. But you can issue many update statements one after another. These can be executed in a transaction if you want all-or-nothing scenario.
This is a good starting point: Using Transactions in ADO.NET[^]


您也可以尝试以下方法

You can also try below approach
string command;

command = "INSERT INTO #_TableName_# VALUES('" + UserName + "','" + UserDomainName + "','" + UserMachineName + "','" + UserIP + "','" + UserOsVersion + "','" + UserSystemDirectory + "','" + UserCurrentDirectory + "','" + ProcessorName + "','" + ProcessMnufacturer + "','" + ProcessorID + "','" + ProcessorDescription + "','" + ProcessorVersion + "','" + ProcessorStatus + "','" + ProcessorDeviceId + "','" + OSCaption + "','" + OSSerialNumber + "','" + OSManufacturer + "','" + OSVersion + "','" + OSStatus + "','" + OSName + "','" + BiosName + "','" + BiosVersion + "','" + BiosSerialNumber + "','" + BiosManufacturer + "','" + BiosCurrentlanguage + "','" + BiosStatus + "')";
            }
            else
            {
command = "UPDATE #_TableName_# SET" + " UserName='" + UserName + "', UserDomainName='" + UserDomainName + "',UserMachineName='" + UserMachineName + "',UserIP='" + UserIP + "', UserOsVersion='" + UserOsVersion + "',UserSystemDirectory='" + UserSystemDirectory + "',UserCurrentDirectory='" + UserCurrentDirectory + "', ProcessorName='" + ProcessorName + "', ProcessMnufacturer='" + ProcessMnufacturer + "',ProcessorID='" + ProcessorID + "',ProcessorDescription='" + ProcessorDescription + "',ProcessorVersion='" + ProcessorVersion + "',ProcessorStatus='" + ProcessorStatus + "',ProcessorDeviceId='" + ProcessorDeviceId + "', OSCaption='" + OSCaption + "',OSSerialNumber='" + OSSerialNumber + "',OSManufacturer ='" + OSManufacturer + "',OSVersion='" + OSVersion + "', OSStatus='" + OSStatus + "',OSName='" + OSName + "', BiosName='" + BiosName + "',BiosVersion='" + BiosVersion + "',BiosSerialNumber='" + BiosSerialNumber + "', BiosManufacturer='" + BiosManufacturer + "',BiosCurrentlanguage='" + BiosCurrentlanguage + "', BiosStatus='" + BiosStatus + "' Where UserName='" + UserName+"'" ;

cmd.CommandText = command.Replace("#_TableName_#", "Table1");
cmd.ExecuteNonQuery();

cmd.CommandText = command.Replace("#_TableName_#", "Table2");
cmd.ExecuteNonQuery();

cmd.CommandText = command.Replace("#_TableName_#", "Table3");
cmd.ExecuteNonQuery();

cmd.CommandText = command.Replace("#_TableName_#", "Table4");
cmd.ExecuteNonQuery();


这篇关于如何在C#中及时更新4个表数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆