我需要在MS SQL Server 2005中索引我的表上的varchar字段,但我不清楚如何这样做.如果我尝试在字段上添加非聚集索引,则表示"mytable"表中的"列'xxxx'的类型无效,无法用作索引中的键列"
我的表有一个自动增加的int ID,它被设置为表中的主键.如果我将此属性设置为索引,然后将我的varchar列添加为"包含列",则索引将完成.但我不确定这是我想要的 - 我希望能够仅基于varchar字段搜索表,而我对索引的理解是必须提供所有索引元素以实际查看查询中的加速,但我不想要包含int ID(因为我不知道它是什么,在给定的查询时).
我试图做错了吗?ID +我的varchar作为一个包含的列能完成我想要的吗?
我有一个包含图像和按钮的列表框.默认情况下,该按钮是隐藏的.每当我将鼠标悬停在列表框中的某个项目上时,我想让按钮可见.我正在使用的XAML如下.谢谢
<Window.Resources>
<Style TargetType="{x:Type ListBox}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Border BorderBrush="Black" BorderThickness="1" Margin="6">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Path=FullPath}" Height="150" Width="150"/>
<Button x:Name="sideButton" Width="20" Visibility="Hidden"/>
</StackPanel>
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud) 我想在VS2008中使用对象测试台.文档 - 甚至是测试台窗口中的有用文本 - 都说要在类视图中右键单击类.进一步读取表明此类必须位于启动项目或引用的程序集中.我在多个程序集(启动项目或引用的项目)中的许多类(公共,私有,静态,您的名字)上尝试了这一点,并且从未出现上下文菜单项"创建实例".
有人有运气吗?这是一个错误,还是我做错了什么?
有什么理由这样的东西不起作用吗?
这是我多次用LINQ更新表中记录的逻辑:
DataClasses1DataContext db = new DataClasses1DataContext();
User updateUser = db.Users.Single(e => e.user == user);
updateUser.InUse = !updateUser.InUse;
db.Log = new System.IO.StreamWriter(@"c:\temp\linq.log") { AutoFlush = true };
db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
(updateUser.InUse是一个位字段)
由于某种原因,它无法正常工作.当我检查linq.log时,它是完全空白的.
我的.dbml可能有问题吗?其他表似乎工作正常,但我比较.dbml中的属性,它们都匹配.
好像是db.SubmitChanges(); 没有检测到任何需要的更新.
试图获得一个侧面项目的爱好,让我从C#的9-5工作中获得动力并且正在考虑Boo.一些?
猜猜是网络世界,想要掌握桌面应用程序等等.
当我尝试基于另一个表更新表时,我不断收到这些错误.我最终重写了查询,更改了连接的顺序,更改了一些分组,然后它最终起作用,但我只是不太明白.
什么是"多部分标识符"?
何时"多部分标识符"无法绑定?
无论如何它到底是什么?
在什么情况下会发生此错误?
什么是预防它的最佳方法?
SQL Server 2005的具体错误是:
无法绑定多部分标识符"...".
这是一个例子:
UPDATE [test].[dbo].[CompanyDetail]
SET Mnemonic = [dbBWKMigration].[dbo].[Company].[MNEMONIC],
[Company Code] = [dbBWKMigration].[dbo].[Company].[COMPANYCODE]
WHERE [Company Name] = **[dbBWKMigration].[dbo].[Company].[COMPANYNAME]**
Run Code Online (Sandbox Code Playgroud)
实际错误:
消息4104,级别16,状态1,行3无法绑定多部分标识符"dbBWKMigration.dbo.Company.COMPANYNAME".
我有一个任务关键型实时数据应用程序,它使用客户端和服务器之间的TCP连接.在某些情况下,连接会定期死亡(SocketException).没问题 - 只需重新连接并继续前进.但是,客户对连接中的这些间歇性下降并不感到兴奋.
我想知道在哪里指点.是客户端还是服务器?硬件还是软件?它是关于以太网链接的吗?最终结果是向用户显示连接健康状况的指示符,以便可以调查和纠正错误的链接.
我可以从TcpClient,Socket或其他任何可以告诉我连接健康状况的指标吗?也许平均时间到ack,重试次数等?
我特别想知道一个TCP连接 - 不仅仅是整个以太网连接(你的局域网连接可能很花哨,但可能会有问题转到外部服务器).
当然我可以ping远程主机,但我认为这不会真正给我那种我正在寻找的统计数据.首先,如果服务器隐藏在NAT后面,我可能正在ping路由器.
[这个问题有关,但并不等同于这一个 ]
我的编译器警告隐式转换或将某些类型转换为bool,而显式转换不会产生警告:
long t = 0;
bool b = false;
b = t; // performance warning: forcing long to bool
b = (bool)t; // performance warning
b = bool(t); // performance warning
b = static_cast<bool>(t); // performance warning
b = t ? true : false; // ok, no warning
b = t != 0; // ok
b = !!t; // ok
Run Code Online (Sandbox Code Playgroud)
这是使用Visual C++ 2008但我怀疑其他编译器可能有类似的警告.
所以我的问题是:铸造/转换的性能影响是什么bool?在某些情况下(例如,对于某些目标体系结构或处理器),显式转换是否具有更好的性能?隐式转换是否会以某种方式混淆优化器?
微软对其警告的解释并不是特别有用.他们暗示有充分的理由,但他们没有解释.
让我说我有两个可互换的代码片段,我想弄清楚哪一个需要较少的处理器时间来执行.我该怎么做?
为了得到非常粗略的估计,我可以将NSLog()调用放在我想要分析的代码的任何一侧,但看起来处理器非常繁忙可能会使结果产生偏差.
三个按钮,保存,取消,关闭看起来很乱,但在用户保存数据后,他们真的应该单击取消按钮吗?
我需要"保存"按钮才能打开表单.
什么是最佳做法?
谢谢
sql ×2
.net ×1
boo ×1
c++ ×1
cocoa ×1
linq ×1
linq-to-sql ×1
listbox ×1
objective-c ×1
optimization ×1
sockets ×1
sql-server ×1
tcp ×1
visual-c++ ×1
winforms ×1
wpf ×1