小编Kni*_*ins的帖子

SQL Server 2016上INSERT或UPDATE的安全解决方案

假设MyTable的表结构(MyTableId NVARCHAR(MAX)PRIMARY KEY,NumberOfInserts INTEGER).

我经常需要更新,即递增现有记录的计数器,或者如果不存在,则为NumberOfInserts插入值为0的新记录.

实质上:

IF (MyTableId exists)
    run UPDATE command
ELSE
    run INSERT command
Run Code Online (Sandbox Code Playgroud)

我担心的是由于竞争条件等原因而丢失数据.

什么是最安全的写这种方式?

如果可能的话,我需要100%准确,并且愿意在必要时牺牲速度.

sql sql-server sql-server-2016

5
推荐指数
1
解决办法
4433
查看次数

[object Object]和[object HtmlDivElement]之间的区别。Div玩jQuery

我正在使用单选按钮之类的div,并且有一个问题。

我这样声明一个函数和变量

我设置了两种样式,一个.buttonUp和.buttonDown应用于div的onclick事件。

<script type="text/javascript">
var onCheck;

function setRadio(param_ElementRef) 
{
    if (param_ElementRef != onCheck) 
    {
        if (onCheck) 
        {
            onCheck.className = 'buttonUp';
        }
        param_ElementRef.className = 'buttonDown';
        onCheck = param_ElementRef;
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

我像这样在div中调用一个函数

<div id="Yes" class="buttonUp" onclick="setRadio(this)">Yes</div>
<div id="No" class="buttonUp" onclick="setRadio(this)">No</div>
<div id="Maybe" class="buttonUp" onclick="setRadio(this)">Maybe</div>
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,但是我无法为onCheck变量设置默认值。

我尝试给divs id赋值,但是当我alert($('#Yes')显示时[object Object],而如果我alert(param_ElementRef)显示[object HtmlDivElement]

两者之间显然有区别,是否有通过id引用或类似方法返回相同对象的方法?

非常感谢

html jquery object radio

4
推荐指数
1
解决办法
8914
查看次数

如何在C#中测试文件是否为.Net程序集

我写了以下代码:

public DataTable GetDotNetAssemblies(string baseDirectory)
{
    DataTable MethodResult = null;
    try
    {
        if (Directory.Exists(baseDirectory))
        {
            List<string> FilePaths = NetworkConnection.GetAllFilesUnderDirectory(baseDirectory);

            DataTable dt = new DataTable();
            dt.Columns.Add("Directory");
            dt.Columns.Add("Filename");
            dt.Columns.Add("Date modified");
            dt.Columns.Add("Bytes");
            dt.Columns.Add("User modified");

            foreach (string FilePath in FilePaths)
            {
                DataRow dr = dt.NewRow();

                FileInfo f = new FileInfo(FilePath);

                List<string> AllowedExtensions = new List<string>();
                AllowedExtensions.Add(".exe");
                AllowedExtensions.Add(".dll");

                if (AllowedExtensions.Contains(f.Extension.ToLower()))
                {
                    dr["Directory"] = f.Directory;
                    dr["Filename"] = f.Name;
                    dr["Date modified"] = f.LastWriteTime;
                    dr["Bytes"] = f.Length.ToString();

                    string UserModified = "";

                    try
                    {
                        UserModified = f.GetAccessControl().GetOwner(typeof(System.Security.Principal.NTAccount)).ToString();

                    }
                    catch …
Run Code Online (Sandbox Code Playgroud)

.net c# datatable file fileinfo

4
推荐指数
1
解决办法
1375
查看次数

通过 C# .Net 创建 Outlook 约会

我需要使用 创建 Outlook 约会microsoft.office.interop.outlook,但是,虽然我可以让它在我自己的工作站上本地工作,并且如果我通过服务器的浏览器运行 Web 应用程序,它也可以工作,但当我从外部连接到服务器时,它就不起作用。

因此,我认为这可能是一个许可问题。

我将其更改application pool identity为“ LocalSystem”,所以现在我没有收到拒绝访问错误。不幸的是,它实际上不起作用。

应用程序的行为就像已成功创建约会一样,但约会不会出现在 Outlook 中。

这是我的 aspx.cs 页面顶部的包含文件

using Outlook = Microsoft.Office.Interop.Outlook;
Run Code Online (Sandbox Code Playgroud)

这是我用来弹出约会的代码。

Outlook.Application apptApp = new Outlook.Application();
Outlook.AppointmentItem appt = 
      apptApp.CreateItem(Outlook.OlItemType.olAppointmentItem) as Outlook.AppointmentItem;
appt.Subject = txtFirstName.Text + " " + txtLastName.Text;
appt.Body = txtComment.Text;
appt.AllDayEvent = false;
appt.Start = DateTime.Parse(txtReminderDate.Text + " 8:00 AM");
appt.End = DateTime.Parse(txtReminderDate.Text + " 9:00 AM");
appt.Display(false);
Run Code Online (Sandbox Code Playgroud)

正如我所说,如果我localhost在服务器上使用它就可以工作,但是如果我尝试通过另一台机器从外部访问该应用程序,它什么也不做。

我确实Outlook 2003在服务器上安装了以访问 interop.outlook 文件并添加了对 microsoft.office.core.

任何帮助将不胜感激,谢谢!

.net c# outlook iis-7.5 windows-server-2012-r2

3
推荐指数
1
解决办法
8080
查看次数

在 Xamarin.Forms 上使用 SkiaSharp lib 绘制样条线(平滑路径)?

我正在使用 Xamarin 表单制作应用程序。

我想用 SKPath 绘制一条平滑的路径(样条线),但我无法找到一种简单的方法来实现这一点。

Skiasharp 目前不支持它,除非我自己顺利走路。

谢谢。

c# 2d xamarin xamarin.forms skiasharp

3
推荐指数
1
解决办法
4164
查看次数

ListView行按钮:如何创建将View.OnClickListener连接到ListView每行上的按钮的自定义适配器?

我希望我的ListView包含按钮,但设置按钮的xml属性,onClick ="myFunction",然后在活动中放置一个public void myFunction(android.view.View视图)方法会导致NoSuchMethodException(堆栈跟踪为null)抛出,因为虽然onclick监听器在那里,它不会触发myFunction(...)并导致活动关闭.

如何创建将View.OnClickListener连接到ListView的每一行上的按钮的自定义适配器?

我的ListView创建如下...

[activity.java content ..]

public void myFunction(android.view.View view)
{
    //Do stuff
}
Run Code Online (Sandbox Code Playgroud)

[activity.xml内容..]

<LinearLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".FrmCustomerDetails" >
    <ListView android:id="@+id/LstCustomerDetailsList" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:clickable="true" android:clipChildren="true" android:divider="@null" android:dividerHeight="0dp" android:fastScrollEnabled="true" android:footerDividersEnabled="false" android:headerDividersEnabled="false" android:requiresFadingEdge="vertical" android:smoothScrollbar="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

[activity_row_item.xml内容..]

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/Llt" android:layout_width="match_parent" android:layout_height="match_parent" >
    <Button android:id="@+id/Btn" android:text="Click me" android:onClick="myFunction" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

java android listview onclick button

2
推荐指数
1
解决办法
1万
查看次数

使用Linq将每天最早的条目分组

试图让我的头围绕Linq,同时记录我早上登录的时间,这应该是我进入办公室的时间.

到目前为止我的代码是:

EventLog SecurityLog = new EventLog("Security");

var AccountLoggedOnEntries = SecurityLog.Entries.Cast<EventLogEntry>()
    .Where(x => x.InstanceId == 4624)
    .Select(x => new
    {
        DateGenerated = x.TimeGenerated.ToShortDateString()
        ,
        TimeGenerated = x.TimeGenerated.ToShortTimeString()
        ,
        x.Message
    })
    .ToList();

DgvLogSummary.DataSource = AccountLoggedOnEntries;

DgvLogSummary.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Run Code Online (Sandbox Code Playgroud)

我想过滤结果,这样我每天只有一个条目,这是最早的时间.

在SQL中,我通常会使用最早条目的消息,然后按所有字段分组.

如何在Linq中执行类似的查询?

c# linq

2
推荐指数
1
解决办法
133
查看次数

两个值怎么可能相等,但也不相等?

当我运行以下查询时:

DECLARE 
    @val VARCHAR(10) = 'not null'
    , @val2 VARCHAR(10) = NULL

-- Test 1.
IF @val <> @val2 SELECT 'Test 1. They are not equal' -- Are they equal?
ELSE SELECT 'Test 1. They are equal'

-- Test 2.
IF @val = @val2 SELECT 'Test 2. They are equal' -- Are they not equal
ELSE SELECT 'Test 2. They are not equal'
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

Test 1. They are equal
Test 2. They are not equal
Run Code Online (Sandbox Code Playgroud)

请有人解释这些结果吗?

sql t-sql sql-server

2
推荐指数
1
解决办法
163
查看次数

C#中令人难以置信的巨大且难以置信的小数字(不仅仅是整数)

在C#中,我需要使用非常大(和非常小)的数字,其中decimal和double不够准确,BigInteger无法存储数字的分数.

我想让数字具有长的组件,即特征和尾数,因为内存(并且最好是硬盘驱动器)空间将允许.

有人有一个类或者是否有一个非常大的系统类型.

我需要能够加,减,除,模,平方,平方根,sin,cos,tan(和它们的反转)并乘以数字.几乎是标准十进制/双精度的完整功能(如果我错过了任何).

Infinity不需要代表,但它会是一个加号*!

一个非常小的数字的例子是:

0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

和非常大的数字的例子是:

1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

-1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

我更喜欢ToString()以上述形式返回数字.科学记数法是可以接受的,但绝不是首选.

四个最重要的要求是:

  1. 数字的准确性
  2. 至少,可以应用基本的数学运算; 乘法,除法,加法和减法
  3. 该数字必须仅受备用内存和硬盘驱动器的大小限制.
  4. 数字必须以特征,小数点和尾数等形式输出为等效字符串,例如100.23,100或0.000000054
  5. 应该支持尾数中的重复

BigInteger不是一个可接受的答案.

*如果无穷无尽,那么我只需要尽可能地实现它,例如(无穷大/无穷大= 1),(0 /无穷大= 0)等.

c# math class

1
推荐指数
1
解决办法
1236
查看次数

在asp.net mvc中,在select查询中使用"new"而不是"new"有什么不同

我有两个问题如下:

  • Select(a => a.IsAdmin)
  • Select(x => new {x.IsAdmin})

......我有两个问题:

  • 两者有什么区别?
  • 我们什么时候应该使用,什么时候不应该使用关键字'new'?

.net c# linq

0
推荐指数
1
解决办法
52
查看次数