这对我很有用.使用if检查数据集是否为空.如果是,则返回null值.但是检查数据集是正确的还是我应该采取其他方式?
da2 = new SqlDataAdapter("SELECT project_id FROM project WHERE _small_project_id = '" + cb_small_project.SelectedValue + "' ORDER BY NEWID()", conn);
ds2 = new DataSet();
da2.Fill(ds2);
DataRow[] rowProject = dt2.Select();
if (ds2.Tables[0].Rows.Count == 0)
cmd.Parameters["@_project_id"].Value = guidNull;
else
cmd.Parameters["@_project_id"].Value = rowProject[0]["project_id"];
Run Code Online (Sandbox Code Playgroud) 我从这个链接有这个代码:如何删除重复的行?
;WITH cte
AS (SELECT ROW_NUMBER() OVER (PARTITION BY person_id, date_work, hours
ORDER BY ( SELECT 0)) RN
FROM work_hours)
DELETE FROM cte
WHERE RN > 1
Run Code Online (Sandbox Code Playgroud)
是否可以删除第一个输入的重复行或我应该有一个额外的列date_of_entry?我想这样做,如果我输入相同的date_work和不同的小时,PARTITION BY person_id, date_work它删除随机重复.
如果不可能,我怎样才能删除更高时间的重复项?
找到哪个选项卡的最简单方法是什么?我想点击tabpage2或其他标签页时显示一些数据.我是这样做的,但不是很好的解决方案:
private int findTabPage { get; set; }
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab == tabPage1)
findTabPage = 1;
if (tabControl1.SelectedTab == tabPage2)
findTabPage = 2;
}
Run Code Online (Sandbox Code Playgroud)
并显示数据:
if (findTabPage == 1)
{ some code here }
if (findTabPage == 2)
{ some code here }
Run Code Online (Sandbox Code Playgroud)
有没有像这样的其他解决方案?
我正在使用加速计,第一个代码是Shake探测器:(Code1)
if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
long curTime = System.currentTimeMillis();
long now = System.currentTimeMillis();
//**********************************************************************
if ((now - mLastForce) > SHAKE_TIMEOUT) {
mShakeCount = 0;
}
if ((now - mLastTime) > TIME_THRESHOLD) {
long diff = now - mLastTime;
float speed = Math.abs(x + y + z - mLastX - mLastY - mLastZ) / diff * 10000;
if (speed > FORCE_THRESHOLD) {
if ((++mShakeCount >= SHAKE_COUNT) && (now - mLastShake > SHAKE_DURATION)) {
mLastShake = now;
mShakeCount = 0;
if …Run Code Online (Sandbox Code Playgroud) 我使用ListBox插入文本像You add Michael in your database,You delete Michael...
listBox1.Items.Insert(0,"You add " + name + " in your database\n");
Run Code Online (Sandbox Code Playgroud)
它工作正常.如何将颜色设置为黑色(插入)和红色(删除)?我试过这个:
public class MyListBoxItem
{
public MyListBoxItem(Color c, string m)
{
ItemColor = c;
Message = m;
}
public Color ItemColor { get; set; }
public string Message { get; set; }
}
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
MyListBoxItem item = listBox1.Items[e.Index] as MyListBoxItem; // Get the current item and cast it to MyListBoxItem …Run Code Online (Sandbox Code Playgroud) 我有一个简单的问题,我怎么能停止计时器?
Button bCancel = (Button)findViewById(R.id.bt1);
bCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
startActivity(new Intent("com.jom.testcdt2.CANCELCLASS"));
}
});
final Thread logoTimer = new Thread(){
public void run(){
try {
int logoTimer = 0;
while (logoTimer < 10000) {
sleep(100);
logoTimer = logoTimer + 100;
}
startActivity(new Intent("com.jom.testcdt2.CLEARSCREEN"));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
finally{
finish();
}
}
};
logoTimer.start();
}
Run Code Online (Sandbox Code Playgroud)
当我按下按钮bCancel时,它会启动一个新活动,但是计时器仍在运行,10秒后它会启动CLEARSCREEN.点击我希望计时器停止.我怎样才能做到这一点?
使用以下内容生成文本框:
public void addTextBox(int number)
{
for (int i = 0; i < number; i++)
{
string name = "tb_" + (i + 1).ToString("00");
tb = new TextBox();
tb.Name = name;
tb.Location = new Point(x, y);
tb.Width = 20;
x += 30;
this.Controls.Add(tb);
}
}
Run Code Online (Sandbox Code Playgroud)
手动形成的文本框只接受数字:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
const char Delete = (char)8;
e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != Delete;
}
Run Code Online (Sandbox Code Playgroud)
我的问题:1.如何设置生成只接受数字的texbox?
2.我想只有两个数字(0 - 99 string pattern = @"^[0-9]{2}?$";).或者是以任何不同的方式来做到这一点.
可能很容易.如何更改行或列的高度?
xlApp = new Excel.Application();
xlApp.Visible = true;
xlApp.DisplayAlerts = false;
Excel.Workbooks xlWorkBooks = xlApp.Workbooks;
xlWorkBook = xlWorkBooks.Open(directoryPath + "\\" + fileName, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
xlWorkSheets = xlWorkBook.Worksheets; //Get all the sheets in the workbook
xlWorkSheet = (Excel.Worksheet)xlWorkSheets.get_Item("Sheet1"); //Get the allready exists sheet
Excel.Range range = xlWorkSheet.UsedRange;
Excel.Range chartRange;
int colCount = range.Columns.Count;
int rowCount = range.Rows.Count;
xlWorkSheet.Cells[rowCount + 5, 1] = "Name and surname";
chartRange = xlWorkSheet.get_Range("a" + …Run Code Online (Sandbox Code Playgroud) 我正在使用表单,我从数据库到组合框获取名称.(表人(idPerson,姓名,年龄))
this.personTableAdapter.Fill(this.test_pmDataSet.Person);
Run Code Online (Sandbox Code Playgroud)
我如何从人物中获取身份,我在组合框中选择谁?
好的,这就是事情.从DataTable我读取number_of_project和number_of_hours_per_day(大部分时间每天5到7小时).对于每个项目,我在动态创建时插入percentage_valueTextBoxes(Sum off all percentage_values为100%).百分比公式必须计算hours_for_project_per_day.
double hours_for_project_per_day = percentage_value * number_of_hours_per_day / 100;
Run Code Online (Sandbox Code Playgroud)
最后我是Round hours_for_project_per_day.在很多时候计算是正确的,但我得到一些非正确的值(因为Rounding)在这种情况下:
number_of_project = 5;
number_of_hours_per_day = 7;
percentage_value | project | (Math.Round)hours_for_project_per_day (double values)
-----------------|---------|------------------------------------------------------
30 | P1 | 2 (2,1)
17 | P2 | 1 (1,19)
18 | P3 | 1 (1,26)
20 | P4 | 1 (1,4)
15 | P5 | 1 (1,05)
-------------------------------------------
sum 100 | …Run Code Online (Sandbox Code Playgroud) 每当小数余数小于.56时,我想向下舍入(通常在0.50到0.55之间包括0.50到0.55的小数).
例如:
4,55轮到4 轮,
4,56轮到5 轮
我有很多数字(8,55; 13,56; ...)谢谢