小编Wes*_*ley的帖子

使用返回值调用存储过程

我试图从我的C#windows应用程序调用存储过程.存储过程在SQL Server 2008的本地实例上运行.我能够调用存储过程但我无法从存储过程中检索该值.该存储过程应该返回序列中的下一个数字.我在网上做过研究,我见过的所有网站都指出这个解决方案有效.

存储过程代码:

ALTER procedure [dbo].[usp_GetNewSeqVal]
      @SeqName nvarchar(255)
as
begin
      declare @NewSeqVal int
      set NOCOUNT ON
      update AllSequences
      set @NewSeqVal = CurrVal = CurrVal+Incr
      where SeqName = @SeqName

      if @@rowcount = 0 begin
print 'Sequence does not exist'
            return
      end

      return @NewSeqVal
end
Run Code Online (Sandbox Code Playgroud)

调用存储过程的代码:

SqlConnection conn = new SqlConnection(getConnectionString());
conn.Open();

SqlCommand cmd = new SqlCommand(parameterStatement.getQuery(), conn);
cmd.CommandType = CommandType.StoredProcedure;

SqlParameter param = new SqlParameter();

param = cmd.Parameters.Add("@SeqName", SqlDbType.NVarChar);
param.Direction = ParameterDirection.Input;
param.Value = "SeqName";

SqlDataReader reader = cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)

我也尝试使用a …

c# sql-server ado.net stored-procedures return-value

72
推荐指数
3
解决办法
22万
查看次数

布尔运算符可以与预处理器一起使用吗?

我想知道是否有可能有预处理器OR或AND语句?我有这个代码,我想在其下运行_DEBUG_UNIT_TEST标签(?).

我想要的是以下内容:

#if _DEBUG || _UNIT_TEST
  //Code here
#endif
Run Code Online (Sandbox Code Playgroud)

如果这是不可能的,有没有一种解决方法来实现相同的事情,而不必使用#elseif

c++ c-preprocessor

65
推荐指数
3
解决办法
4万
查看次数

c ++ std :: string to boolean

我目前正在读取带有键/值对的ini文件.即

isValid = true
Run Code Online (Sandbox Code Playgroud)

获取键/值对时,我需要将一个'true'字符串转换为bool.如果不使用boost,最好的方法是什么?

我知道我可以在值("true","false")上进行字符串比较但是我想在没有ini文件中的字符串区分大小写的情况下进行转换.

谢谢

c++

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

C++ Const指针声明

我正在审查一些代码,我遇到了一些我不熟悉的代码.经过一番搜索后,我无法想出为什么要这样做或者这个声明的好处.

myClass const * const myPtr = myClass->getPointer();
Run Code Online (Sandbox Code Playgroud)

这是const指针的声明还是完全不同的东西?

c++ pointers constants

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

批处理文件将1个文件的内容复制到另一个

我正在尝试创建一个bat文件来复制一个文件的内容并将其附加到另一个文件的末尾.

假设我有一个名为test.txt的文件,我想将test.txt的内容附加到已经使用results.txt名称创建的文件中

如何才能做到这一点?

windows-xp batch-file

12
推荐指数
3
解决办法
4万
查看次数

在单独的线程中等待用户输入

我想要一种方法来生成一个等待用户输入的线程; 如果在10秒内没有输入任何输入,我希望脚本终止生成的线程并继续处理.如果输入文本,我有办法从线程中获取输入但是我无法让超时终止新生成的线程.

在下面的例子中,我是最接近的.我告诉新创建的线程它是一个守护进程,它将在主脚本退出时退出.我对此的问题是该线程将继续等待,直到脚本退出或用户输入了某些内容.

shared_var = ['1']
def run(ref):
    ref[0] = raw_input("enter something: ")
    print "shared var changed to '%s'" % (ref[0])

thread = threading.Thread(target=run, args=(shared_var,))
thread.daemon = True  
thread.start()
time.sleep(10)  # simplified timeout

#Need some way to stop thread if no input has been entered
print "shared var = " + shared_var[0]
Run Code Online (Sandbox Code Playgroud)

我知道突然杀死一个线程不是最好的方法(相关链接),但我不知道如何中断等待raw_input的新线程

python multithreading user-input

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

C#Threadpool创建UI元素

我正在通过数据绑定更新列表框,我试图插入的一个列是一个复选框.此更新由线程池处理,我能够正确插入数据,复选框除外.当我创建复选框时,它显示xaml而不是checkbox元素.即

System.Windows.Controls.Checkbox内容:IsChecked:False

的定义 NotesReminderViewDetails

private struct NotesRemindersViewDetails
{
    public string NoteReminderID { get; set; }
    public string NoteReminderEnterDate { get; set; }
    public string NoteReminderDueDate { get; set; }
    public string NoteReminderConents { get; set; }
    public CheckBox NoteReminderCompleted { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我用来更新列表视图的代码.NoteReminderType是一个包含所有注释/提醒信息的结构.

NoteReminderType noteType = noteReminder.NoteReminderDetails;

NotesRemindersViewDetails noteReminderDetails = new NotesRemindersViewDetails();
noteReminderDetails.NoteReminderID = noteType.UserFriendlyNoteReminderID.ToString();
noteReminderDetails.NoteReminderEnterDate = noteType.InsertionDate.ToShortDateString();
noteReminderDetails.NoteReminderDueDate = noteType.DueDate.ToShortDateString();
noteReminderDetails.NoteReminderConents = noteType.Description;

listViewNotesReminders.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate()
{
    noteReminderDetails.NoteReminderCompleted = new CheckBox();

    listViewNotesReminders.Items.Add(noteReminderDetails);
}));
Run Code Online (Sandbox Code Playgroud)

我需要更改什么才能显示复选框而不是xaml形成线程池线程?

编辑 …

c# wpf multithreading threadpool

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

Perl小于'<'运算符问题

我正在使用一个Windows框,其中包含从以下网站ActiveState安装的最新版本的ActivePerl ,我遇到了一个非常简单的小于'<'概念的问题.

我有以下代码:

#!/usr/local/bin/perl

use warnings;
use strict;

my $a = 1;

if(1 < $a)
{
    print "true";
}
Run Code Online (Sandbox Code Playgroud)

当我在命令提示符中执行脚本时,"true"永远不会打印出来.我在这里错过了什么简单的逻辑?我在C++,C#和java中多次使用过这个表达式,但由于某些原因它在这里不起作用.

如果我错过了简单的事情,请保持愉快.我花了很多时间想知道最新情况.

谢谢,

韦斯利

perl operators

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