所以,我正在使用SQL Server Management Studio Express,到目前为止它一直运作不错,忽略了一些奇怪的东西.
但是当我碰巧在父表中删除一行时,我碰巧得到了一整堆数据删除.所以我认为我必须在这种关系中启用级联删除.但是,如何确定这个?如果双击DB Diagram中的关系,则唯一的选项是"删除",工具提示仅显示FK关系名称.
这个人和我有同样的问题:http: //social.msdn.microsoft.com/forums/en-US/sqldatabaseengine/thread/1f9c1e8f-b719-476d-828e-91ac6722096a/
所以,我错过了什么,或者这是另一种情况,软件公司故意做了一半的工作?我有一个MSDN ultra(或任何最高级别的)许可证,那么会更好,或者,是否有可以使用的第三方工具?
我想在GridView中使用纯CSS替换rowcolor,即:我不想使用asp.net主题; 我宁愿不必使用jQuery,也不必在每个gridview上定义AlternatingRowStyle-BackColor(除非我必须这样做).
这是我的CSS(不起作用):
.gridView {font-size:11px
}
.gridView tr:nth-child(even) {background-color: #FFF}
.gridView tr:nth-child(odd) {background-color: #FFCC00}
.gridView tr:nth-child(even) td {background-color: #FFF}
.gridView tr:nth-child(odd) td {background-color: #FFCC00}
Run Code Online (Sandbox Code Playgroud)
(我包括.gridView {font-size:11px}只是为了确认我正在使用正确的CssClass.)
这不可能,或者我做错了什么.
鉴于:
protected class Marker {
public string Name { get; set; }
public string Lat { get; set; }
public string Long { get; set; }
};
List<Marker> allMarkers = new List<Marker>();
allMarkers.Add(new Marker{Name="Bondi Beach", Lat = "-33.890542", Long = "151.274856"});
allMarkers.Add(new Marker{Name="Coogee Beach", Lat = "-33.923036", Long = "151.259052"});
allMarkers.Add(new Marker{Name="Cronulla Beach", Lat = "-34.028249", Long = "151.157507"});
allMarkers.Add(new Marker{Name="Manly Beach", Lat = "-33.800101", Long = "151.287478"});
allMarkers.Add(new Marker{Name="Maroubra Beach", Lat = "-33.950198", Long = "151.259302"});
Run Code Online (Sandbox Code Playgroud)
我想转换为这种格式的字符串:
['Bondi Beach', …Run Code Online (Sandbox Code Playgroud) 这个问题与前面的问题有关:为什么从关系数据库中不支持的存储过程中进行选择?
在SQL Server,则无法执行连接(或从选择)存储过程(请注意:一个存储过程是从一个完全不同的功能(在SQL Server术语表值函数) -一个功能,你知道列在设计时返回,但是使用一个过程,直到运行时才知道要返回的特定列).
对于SQL Server,确实存在"DBA通常不允许"的方法,可以实现这样的连接:OPENROWSET
所以问题是:
PostgreSQL可以在两个程序之间执行连接,直到运行时才能知道这些列吗?
它可以做同样的事情,除了使用驻留在外部第三方数据库中的存储过程(可能通过外部数据包装器或其他一些机制)?
我正在对查询存储使用以下查询:
SELECT
TOP 100
qp.last_execution_time [qp__last_execution_time],
qt.query_sql_text,
len(qt.query_sql_text) sql_length,
round(rs.avg_duration ,5) avg_duration
,max_rowcount,avg_rowcount,last_rowcount
FROM
sys.query_store_plan qp
INNER JOIN sys.query_store_query [q] ON qp.query_id = q.query_id
INNER JOIN sys.query_store_query_text [qt] ON q.query_text_id = qt.query_text_id
INNER JOIN sys.query_store_runtime_stats [rs] ON qp.plan_id = rs.plan_id
WHERE
order by len(qt.query_sql_text) desc
Run Code Online (Sandbox Code Playgroud)
我注意到的是[query_sql_text]似乎被截断了,例如,典型的语句将以以下结尾:
CAST( '20170920 00:00:00' AS datetime),CAST( '20140701 00:00:
Run Code Online (Sandbox Code Playgroud)
可能相关:
这种情况下的SQL由Power BI生成。
当文本被截断时,len(qt.query_sql_text)不会最大化为相同值。
我正在通过从SSMS结果窗格复制/粘贴到记事本中查看SQL。
SQL版本:Microsoft SQL Azure(RTM)-12.0.2000.8 2017年8月29日13:06:11
我记得在其他“系统表”中,SQL Server会截断SQL。
因此,问题是:有人可以明确地说[sys.query_store_query_text]。[query_sql_text]在某些情况下是否可以被SQL Server本身截断?
在客户端应用程序中发生截断的另一种可能性没有任何意义,因为它必须向SQL Server发送完整的有效SQL语句,否则如何执行?但是,len(query_sql_text)中的差异排除了超出列长度限制的情况。
这可能是怎么回事?
所以我决定卷起袖子试试VS2008内置的T4代码生成.
我打算完成这篇文章的工作:http: //www.olegsych.com/2008/09/t4-tutorial-creatating-your-first-code-generator/
所以,我进入这一部分:"在主菜单中单击项目 - >添加新项目,然后在对话框中选择代码生成 - >文件模板".并发现我的机器上缺少代码生成类别.(在VB和C#项目中都尝试过).
是否可以单独下载以在您的计算机上安装T4?
所以,我从CodePlex下载了T4工具箱:http://t4toolbox.codeplex.com/Release/ProjectReleases.aspx?ReleaseId = 27563
事情似乎已经解决了.我的印象是VS2005需要下载,但VS2008不需要下载.哦,好吧,看起来它是一个新的版本,所以很可能值得下载.
现在看来我没有文章中显示的所有模板类型.我只有文件,模板,生成器,单元测试"生成器"没有在文章中列出,文章中有3个我没有.奇怪....
我正在研究如何通过Excel-DNA将Excel.Range对象从Excel中的VBA传递到C#的正确/最佳方式,然后通过传递的引用与Excel对象模型进行交互.
示例代码:
'***************** VBA code ********************
Sub test2()
Dim rng As Excel.Range
Set rng = Worksheets("test_output").Range("D9")
Dim myDLL As New XLServer.MyClass
Call myDLL.test_ExcelRangePassedAsObject(rng)
Call myDLL.test_ExcelRangePassedAsRange(rng)
End Sub
//**************** C# Code **********************
using System;
using ExcelDna.Integration;
using ExcelDna.ComInterop;
using System.Runtime.InteropServices;
using Microsoft.Office.Interop;
using Excel = Microsoft.Office.Interop.Excel;
namespace XLServer
{
[ComVisible(false)]
class ExcelAddin : IExcelAddIn
{
public void AutoOpen()
{
ComServer.DllRegisterServer();
}
public void AutoClose()
{
ComServer.DllUnregisterServer();
}
}
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
public class MyClass
{
public void test_ExcelRangePassedAsObject(object range)
{
Excel.Range rng …Run Code Online (Sandbox Code Playgroud) 在阅读论坛时,我希望能够使用可自定义的关键字过滤器来隐藏某些行.
例如,在这个论坛上,我想隐藏某些用户名的任何行(第3列).
编写一个只能在此站点上执行此操作的Greasemonkey脚本是否很困难?
或者是否有一个Firefox插件可以做这种事情?
有没有办法写这个,所以它可以在一行代码上?
IF (ISNULL(@param1,'1') = '1' AND ISNULL(@param2,'') = '')
exec sp_CheckNill @param2, '@param2 cannot be NULL if @param1 is NOT NULL'
Run Code Online (Sandbox Code Playgroud)
对于不可避免的"为什么?" 问题:除了更紧凑之外,如果我连续做了很多这样的话,可读性要好得多,因为每行之间的个体差异更加明显.
编辑:
我是个白痴.所有在一行上确实有效:
IF (ISNULL(@param1,'1') = '1' AND ISNULL(@param2,'') = '') exec sp_CheckNill @param2, '@param2 cannot be NULL if @param1 is NOT NULL'
Run Code Online (Sandbox Code Playgroud)
我删除了这个问题,除了下面的@James发布了一个内容丰富的相关答案.
sql-server ×4
c# ×2
.net ×1
asp.net ×1
css ×1
database ×1
excel-dna ×1
greasemonkey ×1
jquery ×1
postgresql ×1
sql ×1
t-sql ×1
t4 ×1
tampermonkey ×1
userscripts ×1
vba ×1
vsto ×1