我试图从我的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 …
我想知道是否有可能有预处理器OR或AND语句?我有这个代码,我想在其下运行_DEBUG或_UNIT_TEST标签(?).
我想要的是以下内容:
#if _DEBUG || _UNIT_TEST
//Code here
#endif
Run Code Online (Sandbox Code Playgroud)
如果这是不可能的,有没有一种解决方法来实现相同的事情,而不必使用#elseif?
我目前正在读取带有键/值对的ini文件.即
isValid = true
Run Code Online (Sandbox Code Playgroud)
获取键/值对时,我需要将一个'true'字符串转换为bool.如果不使用boost,最好的方法是什么?
我知道我可以在值("true","false")上进行字符串比较但是我想在没有ini文件中的字符串区分大小写的情况下进行转换.
谢谢
我正在审查一些代码,我遇到了一些我不熟悉的代码.经过一番搜索后,我无法想出为什么要这样做或者这个声明的好处.
myClass const * const myPtr = myClass->getPointer();
Run Code Online (Sandbox Code Playgroud)
这是const指针的声明还是完全不同的东西?
我正在尝试创建一个bat文件来复制一个文件的内容并将其附加到另一个文件的末尾.
假设我有一个名为test.txt的文件,我想将test.txt的内容附加到已经使用results.txt名称创建的文件中
如何才能做到这一点?
我想要一种方法来生成一个等待用户输入的线程; 如果在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的新线程
我正在通过数据绑定更新列表框,我试图插入的一个列是一个复选框.此更新由线程池处理,我能够正确插入数据,复选框除外.当我创建复选框时,它显示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形成线程池线程?
编辑 …
我正在使用一个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中多次使用过这个表达式,但由于某些原因它在这里不起作用.
如果我错过了简单的事情,请保持愉快.我花了很多时间想知道最新情况.
谢谢,
韦斯利
c++ ×3
c# ×2
ado.net ×1
batch-file ×1
constants ×1
operators ×1
perl ×1
pointers ×1
python ×1
return-value ×1
sql-server ×1
threadpool ×1
user-input ×1
windows-xp ×1
wpf ×1