求一段简单的JAVA代码 要求员工工资管理系统的一个增删改查代码,谢谢了

兄弟,你的代码不错,但是有一些缺陷需要指出。
去年,我在北京做一个项目时,也陷入了类似的陷阱,差点陷入困惑。

首先,数据库连接字符串jdbc:sqlserver://localhost:1 4 3 3 ;DatabaseName=gsm中的DatabaseName必须正确。
上次出错了,找了好久都找不到数据表。
最后我意识到我把图书馆的名字拼错了。
赶紧检查一下。
别像我一样傻了半天。

然后在 printUserInfo 方法中从 MSC 信息中选取 SQL 语句,并且表名包含不适当的空格。
我们之前在长沙做一个项目的时候就遇到过这个问题。
SQL 崩溃了,我不明白为什么。
如果直接改成从MSC信息中选择,不带任何空格,就没有问题了。

还有一点,String sql = "deletefromMSC information whereMscID=" + MscID;直接连接字符串的delete方法并不安全。
我有一个朋友,去年因为SQL注入而受了重伤,因为他没有注意。
像这样直接使用ReadyStatement:
java String sql = "删除MscID=的MSC信息?"; 准备好的声明 pst; System.out.println("从MSC信息表中删除ID=“+MscID+”的记录。
"); 尝试{ pst = con.prepareStatement(sql); pst.setString(1 , MscID); pst.execute(); pst.close(); con.close(); } catch(SQLException e) { e.printStackTrace(); System.out.println("删除记录失败!!!"); } System.out.println("记录删除成功!!!\n");
这样更安全,并且可以更好地防止 SQL 注入。

另外, pst.setString(1 , MscName); 似乎有一个小问题。
在 updateMscName 方法中。
应该是 pst.setString(1 , MscName);您写了 pst.setString(1 , MscName);去年在上海做一个项目时,我花了很长时间才纠正这样的小错误。
赶紧改掉,以后再也不会犯这么低级的错误了。

最后,在main方法中插入数据时,MSC对象的构造函数参数的顺序必须正确。
我的一个同事去年就遇到过这个问题,因为插入的数据不正确,调试了很长时间。
它们是:
Java sql.insert(new MSC("1 1 1 1 ", "ZTE", "ZTE", (float)1 2 .2 , (float)3 .4 , (float)4 5 .5 ));
没错。
不要寻求帮助来调试此类低级错误,只需自己多次检查即可。

总的来说,代码相当不错,但有一些事情需要注意。
不要犯我犯过的同样的错误。
快速做出改变。
否则你将不得不花时间再次调试。

SQLServer 2008 CDC实现数据变更捕获使用图文详解

CDC是SQL Server的日志捕获工具,直接从日志中捕获数据变化。
我上周刚刚完成了一个项目,效果非常好。

第一步:使用sp_cdc_enable_db启用整个数据库的CDC功能。
请注意,如果报告错误 1 5 5 1 7 ,则很可能存储过程正在使用WITH EXECUTE AS。
解决方案是将 DATABASE::[您的库] 上的授权更改为 [sa]。
运行后,检查sys.databases表,确认is_cdc_enabled字段为1
第2 步:使用sp_cdc_enable_table启用对特定表的捕获。
例如,对于 HumanResources.Department 表,运行以下命令: 平方米 执行 sys.sp_cdc_enable_table @source_schema = '人力资源', @source_name = '部门', @role_name = NULL
执行后查看sys.tables表,is_tracked_by_cdc列将变为1
第三步:验证。
直接编辑表数据,例如插入一些行: 平方米 INSERT INTO HumanResources.Department(名称、组名称、修改日期) VALUES('Test', 'Test Group', GETDATE())
然后去cdc.table name_CT表查看可以看到对应的记录。

最常用的CDC函数是cdc.fn_cdc_get_all_changes_table名称,例如: 平方米 声明@from_lsn 二进制(1 0)、@to_lsn 二进制(1 0) SET @from_lsn = sys.fn_cdc_get_min_lsn('人力资源部门') 设置@to_lsn = sys.fn_cdc_get_max_lsn() 从 cdc.fn_cdc_get_all_changes_HumanResources_Department 中选择 (@from_lsn, @to_lsn, 'allupdateold')
您可以找到所有更改,包括插入/删除/更新。
更新将分为两行,一行用于旧值,一行用于新值。

尝试删除表中的数据,然后查看CDC表,看看记录会发生怎样的变化?