我已完成阅读并了解Try/Catch块的功能以及使用它的重要性.但我不知道何时/何地使用它们.有什么建议?我将在下面发布我的代码示例,希望有人有时间为我的示例提出一些建议.
public AMPFileEntity(string filename)
{
transferFileList tfl = new transferFileList();
_AMPFlag = tfl.isAMPFile(filename);
_requiresPGP = tfl.pgpRequired(filename);
_filename = filename.ToUpper();
_fullSourcePathAndFilename = ConfigurationSettings.AppSettings.Get("sourcePath") + _filename;
_fullDestinationPathAndFilename = ConfigurationSettings.AppSettings.Get("FTPStagePath") + _filename;
_hasBeenPGPdPathAndFilename = ConfigurationSettings.AppSettings.Get("originalsWhichHaveBeenPGPdPath");
}
public int processFile()
{
StringBuilder sb = new StringBuilder();
sb.AppendLine(" ");
sb.AppendLine(" --------------------------------");
sb.AppendLine(" Filename: " + _filename);
sb.AppendLine(" AMPFlag: " + _AMPFlag);
sb.AppendLine(" Requires PGP: " + _requiresPGP);
sb.AppendLine(" --------------------------------");
sb.AppendLine(" ");
string str = sb.ToString();
UtilityLogger.LogToFile(str);
if (_AMPFlag)
{
if (_requiresPGP == true) …
Run Code Online (Sandbox Code Playgroud) 我刚刚在MSDN Library中阅读有关EXCEPT和INTERSECT的内容,并且遇到了如何使用INTERSECT的示例:
USE AdventureWorks2008R2 GO
SELECT ProductID
FROM Production.Product
INTERSECT
SELECT ProductID
FROM Production.WorkOrder ;
--Result: 238 Rows (products that have work orders)
Run Code Online (Sandbox Code Playgroud)
也许我是老式的,但我通常会使用以下代码来实现相同的结果:
SELECT P.ProductID
FROM Production.Product P
INNER JOIN Production.WorkOrder W ON W.ProductID = P.ProductID
Run Code Online (Sandbox Code Playgroud)
我错过了什么,或者是和INNER JOIN一样的INTERSECT?使用一个优于另一个是否有性能优势?
同样的问题除外.这怎么样:
USE AdventureWorks2008R2;
GO
SELECT ProductID
FROM Production.Product
EXCEPT
SELECT ProductID
FROM Production.WorkOrder ;
--Result: 266 Rows (products without work orders)
Run Code Online (Sandbox Code Playgroud)
不同于此:
SELECT P.ProductID
FROM Production.Product P
LEFT JOIN Production.WorkOrder W ON W.ProductID = P.ProductID
WHERE W.ProductID IS NULL
Run Code Online (Sandbox Code Playgroud)
?
有没有办法在GROUP BY查询中包含LIKE表达式?例如:
SELECT Count(*)
FROM tblWhatever
GROUP BY column_x [LIKE %Fall-2009%]
Run Code Online (Sandbox Code Playgroud)
column_x:
--------
BIOL-Fall_2009
HIST Fall_2009
BIOL Spring_2009
Run Code Online (Sandbox Code Playgroud)
结果:
------
Fall_2009 2
Spring_2009 1
Run Code Online (Sandbox Code Playgroud) 我刚刚从一个网站上提取了这个片段,事实证明这正是我特定问题所需的解决方案.
我不知道它是什么(特别是委托和返回部分),并且消息来源没有解释它.
希望SO可以启发我.
myList.Sort( delegate(KeyValuePair<String, Int32> x, KeyValuePair<String, Int32> y)
{
return x.Value.CompareTo(y.Value);
}
);
Run Code Online (Sandbox Code Playgroud) 我是我公司唯一的开发人员,并且作为一个自学者来自我相处得很好,但我知道我错过了从更多高级开发人员那里获得的代码审查所带来的教育.
有谁知道提供志愿导师的任何网站/资源?我正在寻找一些人不时检查我的代码,并给我一些指示.
也许是慈善的SO用户?
[.NET,C#,ASP.NET]
刚开始研究mvc,我还不确定是否已经掌握了它.从我收集的内容看来,它似乎是一个3层解决方案的实现,即Model对应于DAL,Controller对应于业务逻辑层,View对应于表示层.
我离开基地吗?
通过选择“项目”->“从项目中排除”将包从项目中排除后,以后如何“重新包含”它?
我以为是Project-> Add Existing Package,但这会添加该软件包的副本。
这是关于asp.net WebForms和sessionstate的问题.我知道这可能是MVC更好的情况,但我需要使用WebForms.
在我的页面的OnLoad事件中,我初始化一个对象及其属性(一次调用db,然后是属性的一些逻辑.)我使用这个对象来填充页面上的控件,例如.lblTitle.text = myObj.Title.
此页面上还有一个输入文本框,用户将在其中输入一些信息,然后按"保存"按钮.这将调用一个实用程序函数,它将文本框的内容写入文件并保存.此外,它需要将其保存到myObj.Title中包含名称的文件中.
这是我的问题 - 由于WebForms的无状态方面,在页面加载后,myObj消失了.*这意味着我不能在保存时做这样简单的事情:Util.save(contentsoftextbox,myObj.Title).
所以我通过将myObj.Title的值写入会话变量(页面的OnLoad事件中的Session.Add ["title"] = myObj.Title来解决它.然后当调用save函数时,我将此会话变量用于我的第二个参数.
感谢您阅读这篇文章.
我的问题是:
这感觉就像是完成工作的一种不必要的复杂方式.是吗?我还能做些什么来完成这项任务?
*对?
我正在使用SqlClient.SqlCommand对象在我的数据库上运行一些存储过程.通常,当我通过查询分析器手动运行它们时,最多需要15分钟才能完成.
很明显,当我使用SqlCommand对象运行它时,我得到一个SqlCommand超时.
我知道我可以将超时属性设置为一个非常高的数字,但我想知道是否有一种方法可以启动过程并断开连接.我不需要返回值.
有什么建议?我不想在这里优化每个sp的处理时间,只是试图确定是否有"设置并忘记它"选项.
这是SqlCommand对象的内容:
using (SqlCommand cmd = new SqlCommand(@"update tbl_SYS_DATE set RPT_DATE = @inputDate
exec sp_Get_Bp_Data1
exec sp_Get_Bp_Data2
exec sp_Get_Bp_Data3
exec sp_channel_data1
exec sp_channel_data2
exec sp_channel_data3
", con))
Run Code Online (Sandbox Code Playgroud) 当我运行下面的代码时,它会在我的数组中填充指定目录中的文件列表.
这很好.
但是,它还会抓取"正在运行"的文件 - 这意味着当前正在复制到该目录的文件.
这是不好的.
如何忽略那些"飞行中"文件?有没有办法在处理之前检查每个文件以确保它"完全存在"?
string[] files = Directory.GetFiles(ConfigurationSettings.AppSettings.Get("sourcePath"));
if (files.Length > 0)
{
foreach (string filename in files)
{
string filenameonly = Path.GetFileName(filename);
AMPFileEntity afe = new AMPFileEntity(filenameonly);
afe.processFile();
}
}
Run Code Online (Sandbox Code Playgroud) 我是WinForms控件工具箱的新手,所以我希望获得有关以下简单情况应该使用哪种控件的建议:
我想在我的表单上有一个区域,显示特定目录中的文件列表.
我的第一个快速和肮脏的倾向是在表单上放置一个文本框并使用Directory.GetFiles()逐行填充它 - 但我知道必须有一个更合适的控件.也许gridview?
(.NET 3.5)
c# ×5
.net ×3
asp.net ×2
t-sql ×2
3-tier ×1
asp.net-mvc ×1
list ×1
sql ×1
sql-server ×1
sqlcommand ×1
ssis ×1
try-catch ×1
webforms ×1
winforms ×1