如何DataColumn向DataTable已包含数据的对象添加新内容?
伪代码
//call SQL helper class to get initial data
DataTable dt = sql.ExecuteDataTable("sp_MyProc");
dt.Columns.Add("NewColumn", type(System.Int32));
foreach(DataRow row in dr.Rows)
{
//need to set value to NewColumn column
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个人们可以发表文章的页面.当用户发布文章时,它会显示在列表中,例如Stack Overflow上的相关问题(当您添加新问题时).这很简单.
我的问题是我有两种类型的用户.1)未注册的私人用户.2)一家公司.
未注册的用户需要输入他们的姓名,电子邮件和电话.公司用户只需输入公司名称/密码即可.相当简单.
我需要减少过多的数据库使用量,并尝试优化数据库并有效地构建表.
现在我手头的问题:
所以我有一张表格,里面有关于公司ID (guid), Name, email, phone等的信息.
我正在考虑制作一个名为文章的表,其中包含ArticleID,标题,内容和发布日期.
一个表格,其中包含有关未注册用户,ID,姓名,电子邮件和电话的信息.
如何将articles表绑定到company/unregistered users表.是否可以创建一个包含2个值的整数,1 =未注册的用户和2 =公司,然后是一个具有指定用户/公司ID号的字段.看起来您需要大量额外的代码来查询数据库.性能?我怎么能把这篇文章和联系信息一起归还?您还应该能够返回特定公司的所有文章.
表公司将是:
ID (guid), company name, phone, email, password, street, zip, country, state, www, description, contact person and a few more that i don't have here right now.
Run Code Online (Sandbox Code Playgroud)
表未注册用户:
ID (guid), name, phone, email
Run Code Online (Sandbox Code Playgroud)
表文章:
ID (int/guid/short guid), headline, content, published date, is_company, id_to_user
Run Code Online (Sandbox Code Playgroud)
有更好的方法吗?
我正在寻找的品质是:性能,易于查询和易于维护(添加新字段,索引等)
我是C#和.NET的新手,但我已经使这段代码调用存储过程,然后我想获取返回的DataTable并将其转换为JSON.
SqlConnection con = new SqlConnection("connection string here");
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("getDates", con);
SqlParameter par = new SqlParameter("@PlaceID", SqlDbType.Int);
par.Value = 42;
da.SelectCommand = cmd;
cmd.Parameters.Add(par);
DataSet ds = new DataSet();
DataTable dt = new DataTable();
con.Open();
try{
cmd.CommandType = CommandType.StoredProcedure;
da.Fill(ds);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,最好/最简单的方法是什么?一个例子会很棒,因为我还是很陌生.
我已经设法在我的应用程序中实现了一个非常基本的PDF查看器,但是想知道是否可以向PDF添加注释.我查看了SDK文档,但没有找到任何内容.我真的有两个问题:
谢谢.
当我创建一个空的Win32项目.我的intellisense停止了工作.是否有可能让它适用于具有1个源文件的空Win32项目?谢谢
我正在尝试使用python创建一个匹配美国州缩写的正则表达式.
缩写可以采用以下格式:
CA
Ca
Run Code Online (Sandbox Code Playgroud)
字符串可以是:
Boulder, CO 80303
Boulder, Co
Boulder CO
...
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的,显然效果不佳.我对正则表达式并不是很好,谷歌没有太多.
pat = re.compile("[A-Za-z]{2}")
st = pat.search(str)
stateAbb = st.group(0)
Run Code Online (Sandbox Code Playgroud) 我在Vista中遇到了很好的ol'bdeadmin.exe问题.首先,让我们得到可预测的响应:
"你不应该要求你的申请被提升."
这一个.这就是生活.
"你需要嵌入一个清单文件."
它已经编译,它已经很多年了,创建它的公司无意再做它,它是从一个合并模块(MSM文件)安装的.
"BDE已经过时,你应该使用dbExpress"
一百五十万行代码.'努夫说.
"删除EXE旁边的清单文件."
试过,什么也没做.作为测试,同一个清单文件能够使其他几个EXE文件需要提升,而不是我想要的那个.那里的东西阻止了外部清单的读取.
"创建快捷方式并设置SLDF_RUNAS_USER."
不能这样做,它是一个控制面板小程序.
唯一有效的方法是在"属性"窗口的"兼容性"选项卡下设置"以管理员身份运行此程序".我不应该告诉用户这样做.对业务不利.我需要让安装程序执行此操作.MSM文件使用静态路径.
出于好奇,我想知道在执行程序期间是否可以重新定位一段代码.例如,我有一个函数,每次执行后都应该在内存中替换这个函数.我们想到的一个想法是使用自修改代码来做到这一点.根据一些在线资源,自修改代码可以在Linux上执行,但我仍然不确定是否可以进行这样的动态重定位.有人有经验吗?
我喜欢C#3.0特性,特别是lambda表达式,自动实现的属性,或者在适当的情况下也隐式输入局部变量(var关键字),但当我的老板透露我正在使用它们时,他让我不要在工作中使用任何C#3.0功能.有人告诉我,对于大多数开发人员而言,这些功能并不标准且令人困惑,其实用性值得怀疑.我被限制只使用C#2.0功能,他也在考虑禁止匿名方法.
由于我们的目标是.NET Framework 3.5,因此我看不出这些限制的任何原因.在我看来,也许唯一的缺点是我的几个同事和老板(也是程序员)必须学习一些C#3.0的基础知识,这应该不难.你怎么看待这件事?我的老板是对的,我错过了什么吗?在C#是主要编程语言的开发公司中,有没有充分的理由限制这种限制?
c ×2
c# ×2
datatable ×2
.net ×1
admin ×1
annotate ×1
assembly ×1
c#-3.0 ×1
c++ ×1
database ×1
datarow ×1
iphone ×1
json ×1
linux ×1
optimization ×1
pdf ×1
performance ×1
properties ×1
python ×1
regex ×1
relocation ×1
runas ×1
web-services ×1
windows ×1