我有一个包含这样的数据的SQL表:
| theDate (datetime) | theValue (int) |
----------------------------------------
| 2010-05-17 02:21:10 | 5 |
| 2009-03-12 04:11:35 | 23 |
| 2010-02-19 18:16:53 | 52 |
| 2008-07-07 22:54:11 | 30 |
Run Code Online (Sandbox Code Playgroud)
日期以UTC格式存储在日期时间列中,如何将它们转换为当地时间(挪威)?请记住,由于冬季/夏季,UTC全年的UTC偏移量并不相同.
更新:我正在使用Microsoft SQL Server 2005,我需要从SQL执行此操作,因为数据将在稍后显示给报告.
我正在创建一个应用程序,其中有主DB,其他数据存储在辅助数据库中.辅助数据库遵循"插件"方法.我使用SQL Server.
一个简单的应用程序安装只有mainDB,而作为一个选项,可以激活更多的"插件",每个插件都会有一个新的数据库.
现在为什么我做出这个选择是因为我必须使用现有的遗留系统,这是我能想到的最聪明的事情来实现插件系统.
MainDB和Plugins DB具有完全相同的模式(基本上Plugins DB有一些"特殊内容",一些可以用作模板的重要数据 - 例如在应用程序中考虑信件模板).插件DB在只读模式中使用,它们是"内容存储库"."聪明"的事情是主要的应用程序也可以被"插件编写者"使用,他们只是编写一个数据库插入内容,并通过备份数据库,他们创建了一个潜在的插件(这就是为什么所有的数据库都有相同的模式).
这些插件数据库是从互联网上下载的,因为有可用的内容升级,每次销毁完整的PlugIn数据库并且创建一个具有相同名称的新插件.这是为了简单起见,甚至因为这个DB的大小通常很小.
现在这个工作,无论如何我更喜欢用一种树结构来组织DB,这样我就可以强制插件DB成为主应用程序DB的"子DB".
作为一种解决方法,我正在考虑使用命名规则,例如:
ApplicationDB(用于主应用程序DB)
ApplicationDB_PlugIn_N(对于第N个插件DB)
当我搜索插件1时,我尝试连接到ApplicationDB_PlugIn_1,如果我没有找到数据库,则会引发错误.例如,如果som DBA重命名为ApplicationDB_Plugin_1,则会发生这种情况.
因此,因为那些插件DB实际上只依赖于ApplicationDB,所以我试图"做子文件夹技巧".
有谁能建议这样做的方法?你能评论我上面描述的这种自制的插件方法吗?
添加信息(启动后):
在MainDB中,我计划将连接信息存储到所有插件DB中.基本上它是数据库名称,因为我以一种方式设计了系统,即使我使用多个sql server登录访问MainDB,在后台单个用户(通常是"sa"或具有管理员权限的其他用户).
所以基本上如果我需要查询多个数据库,我将使用数据库名来区分插件,我不需要在数据库表中显式创建名为PluginID的文件.
所以它在某种程度上如此工作,在主DB中存储插件DB名称.所以我知道插件的名称,所以如果我想从所有插件查询所有GUNS,我会做这样的事情:
select * from ApplicationDB_Plugin_1.dbo.weapons where weapon_type = 'gun'
union
select * from ApplicationDB_Plugin_2.dbo.weapons where weapon_type = 'gun'
union
select * from ApplicationDB_Plugin_3.dbo.weapons where weapon_type = 'gun'
Run Code Online (Sandbox Code Playgroud)
所以"技巧"是使用dbname来区分插件.现在这项工作,但对我来说似乎有点"肮脏".我的问题是"你有更好的方法吗?"
我有一个超级视图,它有2个子视图.这些子视图是重叠的.
每当我从菜单中选择一个视图时,相应的视图应该成为前视图并处理动作.也就是说,它应该是最前面的子视图.
acceptsFirstResponder
辞去所有工作.但是鼠标按下事件被发送到已设置的最顶层子视图.
此致,Dhana
如果我有:
std::size_t bagCapacity_ = 10;
std::size_t bagSize = 0;
A** bag = new A*[bagCapacity_];
while (capacity--)
{
bag[capacity] = new A(bagSize++); //**here I'm loading this array from the end is it ok?**
}
Run Code Online (Sandbox Code Playgroud)
还可以从数组末尾开始删除那些对象吗?
while (capacity--)
{
delete bag[capacity];
}
Run Code Online (Sandbox Code Playgroud)
代码中的问题.
(我会自己检查一下,但我没有VS2010(还))
假设我有2个基本接口:
IBaseModelInterface
IBaseViewInterface
Run Code Online (Sandbox Code Playgroud)
和2个接口实现这些:
ISubModelInterface : IBaseModelInterface
ISubViewInterface : IBaseViewInterface
Run Code Online (Sandbox Code Playgroud)
如果我定义一个Tuple<IBaseModelInterface, IBaseViewInterface>
我想根据返回的工厂的结果设置它Tuple<ISubModelInterface, ISubViewInterface>
.
在C#3中,即使子接口实现了基本接口,我也无法做到这一点.我非常确定C#4允许我这样做,IEnumerable<IBaseModelInterface>
因为我现在使用in
关键字来定义协方差.因此,没有Tuple
让我这样做呢?
从我(小)我理解,协方差只允许在接口上,所以这是否意味着需要一个ITuple<T1, T2>
接口?这存在吗?
我想制作一个光滑的java命令行应用程序,它不包含所有令人讨厌的"java -jar some.jar参数"
相反,我会让它工作就像
program -option argument
Run Code Online (Sandbox Code Playgroud)
像任何其他命令行应用程序.我使用ubuntu linux,如果它包含一些.sh脚本或任何东西,那就没问题了.我知道我可以用java -jar program.jar
和创建一个文件chmod +x file
,之后我可以用./file运行我,但是我怎样才能将参数传递给程序?
有趣的是,有时简单的事情会在后面咬我.
我可以使用像这样的DataGridTextColumn将DataGrid很好地绑定到某个任意类的Collection:
// bound to List<Class>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
Run Code Online (Sandbox Code Playgroud)
现在我想将DataGrid绑定到一个简单的String集合.因为没有属性"Name"或类似的东西要绑定,我该如何编写绑定:
// bound to List<String>
<DataGridTextColumn Header="Name" Binding="{Binding ???}"/>
Run Code Online (Sandbox Code Playgroud)
字符串没有属性"值"或类似的东西.如果我只是写{Binding},我将最终得到一个单向绑定,无法将更改写回Collection.
想一想,我认为不可能绑定到一个集合,所以我需要将我的字符串包装成一个类?
或者有办法吗?
我很困惑如何习惯性地更改通过clojure.contrib的zip-filter.xml访问的xml树.应该尝试这样做,还是有更好的方法?
假设我有一些虚拟xml文件"itemdb.xml",如下所示:
<itemlist>
<item id="1">
<name>John</name>
<desc>Works near here.</desc>
</item>
<item id="2">
<name>Sally</name>
<desc>Owner of pet store.</desc>
</item>
</itemlist>
Run Code Online (Sandbox Code Playgroud)
我有一些代码:
(require '[clojure.zip :as zip]
'[clojure.contrib.duck-streams :as ds]
'[clojure.contrib.lazy-xml :as lxml]
'[clojure.contrib.zip-filter.xml :as zf])
(def db (ref (zip/xml-zip (lxml/parse-trim (java.io.File. "itemdb.xml")))))
;; Test that we can traverse and parse.
(doall (map #(print (format "%10s: %s\n"
(apply str (zf/xml-> % :name zf/text))
(apply str (zf/xml-> % :desc zf/text))))
(zf/xml-> @db :item)))
;; I assume something like this is needed to make the …
Run Code Online (Sandbox Code Playgroud) 考虑一下代码:
f(command1, UserId) ->
case is_registered(UserId) of
true ->
%% do command1
ok;
false ->
not_registered
end;
f(command2, UserId) ->
case is_registered(UserId) of
true ->
%% do command2
ok;
false ->
not_registered
end.
is_registered(UserId) ->
%% some checks
Run Code Online (Sandbox Code Playgroud)
现在假设有很多命令,它们最初都是调用is_registered.有没有办法概括这种行为(重构此代码)?我的意思是在所有命令中放置相同的案例并不是一个好主意.
arrays ×1
binding ×1
c# ×1
c++ ×1
clojure ×1
cocoa ×1
command-line ×1
covariance ×1
datagrid ×1
datetime ×1
erlang ×1
gmt ×1
java ×1
javascript ×1
nsview ×1
plugins ×1
refactoring ×1
sql ×1
sql-server ×1
tuples ×1
utc ×1
wpf ×1
xml ×1