我有三个表,如下所示
Emp
----
empID int
empName
deptID
empDetails
-----------
empDetailsID int
empID int
empDocuments
--------------
docID
empID
docName
docType
Run Code Online (Sandbox Code Playgroud)
我正在创建一个实体类,以便我可以使用n层架构在C#中进行数据库事务等.我开始创建类,如下所示
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace employee
{
class emp
{
private int empID;
private string empName;
private int deptID;
public int EmpID { get; set; }
public string EmpName { get; set; }
public int deptID { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是empDetails和empDocuments与empID有关.我如何在我的emp类中拥有它们.
如果你能指导我一个例子,我将不胜感激.
谢谢
在我的应用程序中,我尝试在更新表格内容后将UITableView滚动到顶部一次.但是,在某些情况下,我的桌子是EMPTY.所以我得到以下异常:
由于未捕获的异常'NSRangeException'终止应用程序,原因:' - [UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]:row(0)超出bounds(0)的section(0).
我怎么能抓住这个例外?我试过了
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
if (indexPath != nil) {
[EventTable scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
但它没有捕获异常,因为indexPath不是nil.
我有一个doctrine更新查询来保存我的数据:
$ customer = Doctrine_Query :: create()
- >更新( '客户')
- > set('fax',"'".$ this-> getRequest() - > getParam('fax')."'")
- > where('id ='.$ this-> getRequest() - > getParam('id'))
- >执行();
问题是,由于这些括号"("和")",字段传真具有括号和doctrine在查询中返回错误.
有人知道解决方案吗?谢谢
我正在尝试绑定到这样的自定义控件:
<my:GanttChartTaskListView Name="ganttChartTaskListView1" ItemsSource="{Binding Source={x:Static local:TaskCollection.taskList}}" />
Run Code Online (Sandbox Code Playgroud)
在我的WPF窗口构造函数中,我添加了一个项目到我的taskList,当它加载时我可以在我的自定义控件中看到该项目,但是,当我随后添加它没有更新的项目时.我尝试设置Mode = TwoWay,然后它说"路径"是必需的,我不熟悉这样的绑定(这对我来说是新的).
这是我的TaskCollection类:
namespace ProjectManager
{
public static class TaskCollection
{
private static List<TaskItem> _taskList = new List<TaskItem>();
public static List<TaskItem> taskList
{
get {return _taskList; }
set { _taskList = value; }
}
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?有没有更好/更简单的方法来做到这一点?
有些语言,特别是斯拉夫语言,根据语法背景改变了人们名字的结尾.(对于那些懂语法或学过语言的人,如德语或俄语,以及帮助搜索关键词,我说的是名词变形.)
这可能是最简单的一组示例(波兰语,以保存整个不同的字母表问题):
现在,如果在这些例子中,这里的名字是用户输入的,那就引入了一个语法噩梦的世界.重要的是,如果我选择Katie(Kasia),这些例子不能直接比较 - 3和4都是Kasi,而不是*Kasy和*Kasie - 男性名字将再次完全不同.
我猜之前有人已经处理过这种情况,但今天我的Google-fu似乎很弱.我可以找到很多关于自然语言处理的链接,但我不认为这是我想要的.需要明确的是:我只是从来没有准备有每个用户一个用户输入的名字和我会需要它们下降到已知的配置-我会,将有占位符像一个本地化的文本{name nominative}和{name dative},为求论点.我真的不想对文本进行词法分析来解决问题,我只需要拒绝那个用户输入的名字.
任何人都有关于如何做到这一点的任何建议,或者我是否需要开始致电本地化机构; o)
进一步阅读(所有在维基百科上)感兴趣的:
免责声明:我知道这种情况会发生在许多其他语言中; 突出斯拉夫语言仅仅是因为我有一个项目将被本地化为一些斯拉夫语言.
我正在寻找关于MATLAB中矢量化(循环)的任何好教程.
我有非常简单的算法,但它使用两个for循环.我知道向它进行矢量化应该很简单,我想学习如何做而不是要求你提供解决方案.
但是为了让你知道我有什么问题,所以你可以建议最好的教程,展示如何解决类似的问题,这是我的问题的大纲:
B = zeros(size(A)); % //A is a given matrix.
for i=1:size(A,1)
for j=1:size(A,2)
H = ... %// take some surrounding elements of the element at position (i,j) (i.e. using mask 3x3 elements)
B(i,j) = computeSth(H); %// compute something on selected elements and place it in B
end
end
Run Code Online (Sandbox Code Playgroud)
所以,我不是要求解决方案.我要求一个很好的教程,在MATLAB中矢量化循环的例子.我想学习如何做,并自己做.
我需要编写一个布尔逻辑解析器,它将布尔逻辑语言转换为SQL WHERE子句.
操作数的顺序始终是正确的顺序(右边的值).
这是一个相对简单的例子.可能有嵌套括号和NOT运算符等的使用.
(CACOUNT=01 OR CACOUNT=02 OR CACOUNT=03)
AND Q4=1 AND NAME=TIMOTHY
Run Code Online (Sandbox Code Playgroud)
这是WHERE子句类似的内容.
WHERE (
EXISTS (
SELECT 1 FROM MyVerticalTable b
WHERE b.Key=a.Key AND b.Key='CACOUNT' AND b.Value='01'
)
OR EXISTS (
SELECT 1 FROM MyVerticalTable b
WHERE b.Key=a.Key AND b.Key='CACOUNT' AND b.Value='02'
)
OR EXISTS (
SELECT 1 FROM MyVerticalTable b
WHERE b.Key=a.Key AND b.Key='CACOUNT' AND b.Value='03'
)
)
AND EXISTS (
SELECT 1 FROM MyVerticalTable b
WHERE b.Key=a.Key AND b.Key='Q4' AND b.Value='1'
)
AND EXISTS (
SELECT …Run Code Online (Sandbox Code Playgroud) 我可以使用一些帮助使用ctypes分配DLL中的全局C变量.
以下是我正在尝试的一个例子:
test.c包含以下内容
#include <stdio.h>
char name[60];
void test(void) {
printf("Name is %s\n", name);
}
Run Code Online (Sandbox Code Playgroud)
在Windows(cygwin)上我构建了一个DLL(Test.dll),如下所示:
gcc -g -c -Wall test.c
gcc -Wall -mrtd -mno-cygwin -shared -W1,--add-stdcall-alias -o Test.dll test.o
Run Code Online (Sandbox Code Playgroud)
当尝试修改name变量然后使用ctypes接口调用C测试函数时,我得到以下内容......
>>> from ctypes import *
>>> dll = windll.Test
>>> dll
<WinDLL 'Test', handle ... at ...>
>>> f = c_char_p.in_dll(dll, 'name')
>>> f
c_char_p(None)
>>> f.value = 'foo'
>>> f
c_char_p('foo')
>>> dll.test()
Name is Name is 4???
13
Run Code Online (Sandbox Code Playgroud)
为什么测试功能会在这种情况下打印垃圾?
更新:
我已经确认了亚历克斯的回应.这是一个工作示例:
>>> from ctypes import …Run Code Online (Sandbox Code Playgroud) 我试过这个:
$string ="Group: ALL:ALL:Good";
@str2 = split (/:/,':',2);
print "@str2";
Run Code Online (Sandbox Code Playgroud)
我正在寻找$str[0] = Group 和$str[1]= ALL:ALL:Good.
它不起作用.会有什么问题?
如果在参数替换后有一种简单的方法可以获得完整的SQL语句?即,我想保留该程序运行的所有SQL的日志文件.
或者,如果我想这样做,我只想摆脱参数,并用一个大字符串完成旧学校的整个查询吗?
简单示例:我想捕获输出:
SELECT subcatId FROM EnrollmentSubCategory WHERE catid = 1
..来自这段代码:
Dim subCatSQL As String = "SELECT subcatId FROM EnrollmentSubCategory WHERE catid = @catId"
Dim connectionString As String = "X"
Dim conn As New SqlConnection(connectionString)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
Dim cmd As New SqlCommand(subCatSQL, conn)
With cmd
.Parameters.Add(New SqlParameter("@catId", SqlDbType.Int, 1))
End With
Console.WriteLine("Before: " + cmd.CommandText)
cmd.Prepare()
Console.WriteLine("After: " + cmd.CommandText)
Run Code Online (Sandbox Code Playgroud)
我曾假设Prepare()会做替换,但显然不是.
思考?建议吗?提前致谢.