如果在以下期间发生错误将会发生什么:
如果在光标关闭之前发生错误会发生什么?它会自动关闭吗?
当我使用游标时,处理错误的最佳做法是什么?
我有一个表单,当单击一个按钮(form1button)时将打开一个新表单.在子表单上会有另一个按钮'form2button'.现在,如果我单击此form2按钮,则应该处理新的form2.但是因为form2对象是在form1类方法中创建的,所以我无法在form2类方法中处理该对象(fom2buttonclick).所以我使用static来完成我的工作,如下面的psuedo代码.
Form1中:
class Form1 : Form
{
static Form2 f2;
public void Form1_buttonclick(object sender, EventArgs e)
{
f2 = new Form2();
}
public void Disposef2()
{
f2.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
窗体2:
class Form2 : Form
{
public void Form2_buttonclick(object sender, EventArgs e)
{
Form1 f1 = new Form1();
f1.Disposef2();
}
}
Run Code Online (Sandbox Code Playgroud)
有没有其他更好的方法来做到这一点.或者C#设计本身并不提供替代机制.我是C#的新手.请帮帮我..
编辑
我想关闭(显式处置)form2对象,当单击form2上的按钮时,该对象在form1类中创建.此编辑旨在提供更清晰的信息.
我知道可以压缩两个数组,结果可以用#each迭代.但是你怎么用未知数量的枚举来做呢?让我们说吧
anand = %w(1-0 0.5-0.5 0.5-0.5 1.0)
carlsen = %w(0-1 0.5-0.5 0.5-0.5 1.0)
kramnik = %w(0.5-0.5 0.5-0.5 0.5-0.5 1.0)
players= [anand, carlsen, kramnik]
#something smart
players.each{|round|puts round} #first line should be "1-0 0-1 0.5-0.5"
Run Code Online (Sandbox Code Playgroud) 如何使用mysql获取字符串的最后12位数?
假设我有一个带有跟踪号的varchar字段,可能长度为5到20个varchars.但是如果有更少,我只需要选择最后12位或更少.
所以在一个 field = 12345678123456789012
我只需要得到括号中的内容
field = 12345678[123456789012]
Run Code Online (Sandbox Code Playgroud)
我看到了一些使用mid等的例子,但他们没有产生预期的结果,或者我找不到一个有意义的例子:-(
谢谢.
我有一个现有的GridView,其中包含"伙伴名称"字段.它可以按合作伙伴名称排序.
现在我需要更改合作伙伴名称字段,并在某些情况下使其可点击并提醒()某些内容.
现有代码是:
<asp:GridView ID="gridViewAdjustments" runat="server" AutoGenerateColumns="false" AllowSorting="True" OnSorting="gridView_Sorting" OnRowDataBound="OnRowDataBoundAdjustments" EnableViewState="true">
<asp:BoundField DataField="PartnerName" HeaderText="Name" SortExpression="PartnerName"/>
Run Code Online (Sandbox Code Playgroud)
我添加了专栏:
<asp:hyperlinkfield datatextfield="PartnerName" SortExpression="PartnerName" headertext="Name" ItemStyle-CssClass="text2"/>
Run Code Online (Sandbox Code Playgroud)
这使我能够控制CSS和排序.但是,我找不到如何添加客户端javascript函数.
我发现添加:
<asp:TemplateField HeaderText="Edit">
<ItemTemplate>
<a id="lnk" runat="server">Edit</a>
Run Code Online (Sandbox Code Playgroud)
使我能够通过id访问"lnk"并添加到其属性.但是,我失去了排序能力.
在这种情况下,正确的解决方案是什么?
谢谢.
如果我在Java中有一个整数,除了前导零之外,我如何计算有多少位为零?
我们知道Java中的整数有32位,但是计算数字中的设置位数,然后从32减去不能得到我想要的东西,因为这也包括前导零.
例如,数字5有一个零位,因为它是二进制的101.
我正在编写地址簿程序。我将每个人的详细信息存储在List<Person>. 我需要能够按姓氏(如果有关系则使用名字)或邮政编码对这个列表进行排序。
到目前为止,我有这个:
public class Person
{
public string LastName { get; set; }
public string FirstName { get; set; }
public string PostCode { get; set; }
// etc..
}
public class AddressBook
{
public List<Person> People { get; set; }
// asc: ascending or descending
// column: the property to use when sorting
// (in my case either LastName or Postcode)
public void Sort(bool asc, string column)
{
// What should I put here?
}
// …Run Code Online (Sandbox Code Playgroud) 我有一个SQL数据库,其中包含下表:
Table: PhoneRecords -------------- ID(identity Seed) FirstName LastName PhoneNumber ZipCode
非常简单的直接表.该表有超过2000万条记录.我正在寻找最好的方法来执行查询,根据表中的区域代码提取记录.例如,这是我已经完成的示例查询.
SELECT phonenumber, firstname
FROM [PhoneRecords]
WHERE (phone LIKE '2012042%') OR
(phone LIKE '2012046%') OR
(phone LIKE '2012047%') OR
(phone LIKE '2012083%') OR
(phone LIKE '2012088%') OR
(phone LIKE '2012841%')
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这是一个丑陋的查询,但它可以完成工作(如果我没有遇到超时问题)
有谁能告诉我速度/优化的最佳方法来执行上述查询以显示结果?目前,上述查询大约需要2个小时才能完成9gb 1600mhz ram,i7 930 quadcore OC'd 4.01ghz.我显然拥有执行此类查询所需的计算机能力,但查询仍然需要很长时间.
有人可以解释为什么表达式(我研究C)喜欢
while(a!=1 || b!=1 || c!=1)
Run Code Online (Sandbox Code Playgroud)
引起问题.
特别是我有这个特定的代码:
while (ch != '\n' || ch != '\t' || ch != ' ') { ... }
Run Code Online (Sandbox Code Playgroud) 我有一个IEnumerable<Point>,我想将其转换为IEnumerable<float>.
我可以在单个Linq语句中执行此操作吗?
IEnumerable<float> ConvertToPoints(IEnumerable<Point> points)
{
List<float> floats = new List<float>();
foreach(var point in points)
{
floats.Add(point.X);
floats.Add(point.Y);
}
return floats;
}
Run Code Online (Sandbox Code Playgroud)