我正在使用包含一些更新的脚本来更改数据库(oracle),如下所示:
UPDATE customer
SET status = REPLACE(status, 'X_Y', 'xy')
WHERE status LIKE '%X_Y%'
AND category_id IN
(SELECT id
FROM category
WHERE code = 'ABC');
UPDATE customer
SET status = REPLACE(status, 'X_Z', 'xz')
WHERE status LIKE '%X_Z%'
AND category_id IN
(SELECT id
FROM category
WHERE code = 'ABC');
-- More updates looking the same...
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你将如何强制干(不要重复自己)?
我特别感兴趣的是解决以下两个反复出现的问题:
定义仅从此脚本可用的函数,以提取子查询 SELECT id FROM category WHERE code = 'ABC'
创建一组替换规则(可能看起来像{"X_Y": "yx", "X_Z": "xz", ...}一种流行的编程语言),然后在其上迭代单个更新查询.
谢谢!
您如何看待使用私有静态方法?
就个人而言,我更喜欢使用静态私有方法来进行非静态,只要它不需要访问任何实例字段.
但我听说这种做法违反了OOP原则.
编辑:我想从风格的角度来看,而不是表现.
我想关闭远程Windows计算机(例如,连接到局域网的Windows计算机.)我已经尝试了很多,但我找不到解决方案.有没有人知道如何关闭远程计算机?任何语言都可以.
有关使用python将.doc,.ppt和.xls转换为纯文本的方法的任何建议吗?真的任何转换方法都会有用.我已经看过使用Open Office但是,我想要一个不需要安装Open Office的解决方案.
因为我已经排除了"ID",我怎么能排除另一个属性?
我正在使用Ruby开发Windows应用程序.什么是Ruby最好的GUI编辑器?
我正在尝试使用Python comtypes库在excel电子表格中创建一个QueryTable,但是得到一个相当无意义的错误......
在vba中(在工作簿中的模块中),以下代码可以正常工作:
Sub CreateQuery()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim ws As Worksheet
Dim qt As QueryTable
Set ws = ActiveWorkbook.Sheets(1)
Set con = New ADODB.Connection
con.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Path\to\Db.mdb;")
Set rs = New ADODB.Recordset
rs.Open "Select * from [tbl Base Data];", con
Set qt = ws.QueryTables.Add(rs, ws.Range("A1"))
qt.Refresh
End Sub
Run Code Online (Sandbox Code Playgroud)
但是以下Python代码:
import sys
import comtypes.client as client
def create_querytable():
constring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Path\\to\\Db.mdb"
conn = client.CreateObject("ADODB.Connection", dynamic = True)
rs = client.CreateObject("ADODB.Recordset", dynamic = True)
SQL …Run Code Online (Sandbox Code Playgroud) 当我第一次开始使用面向对象的编程语言时,我被教导了以下规则:
在类中声明字段时,不要初始化它.在构造函数中执行此操作.
C#中的一个例子:
public class Test
{
private List<String> l;
public Test()
{
l = new List<String>();
}
}
Run Code Online (Sandbox Code Playgroud)
但是当有人最近问我为什么这样做时,我无法想出一个理由.我并不熟悉C#(或其他编程语言)的内部工作原理,因为我相信这可以在所有OO语言中完成.
那么,为什么是这样呢?安全吗?属性?