我正在开发一个包含基于服务的数据的C#窗体应用程序.当我测试我的应用程序时,它的数据库工作正常但在程序尝试打开sqlconnection后发布和安装程序后,出现此错误:
System.Data.SqlClient.SqlException(0x80131904):尝试为文件C:\ Users\Behnam\AppData\Local\Apps\2.0\Data\5XVOVXV1.3VG\M5T04ZK7.QBJ\tahl附加自动命名的数据库. tion_45c3791d6509222d_0001.0000_be1c7cc05811ecf0\Data\AppData\TahlilGar.mdf失败.存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上.
这是我的ConnectionString:
<add name="BA" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\AppData\TahlilGar.mdf;
Integrated Security=True;"providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
我也尝试过:User Instance= True;但结果是:
连接到SQL Server的用户实例时,不允许用户实例登录标志.连接将被关闭.
我该如何解决这个问题?
编辑:我检查了提到的路径,但没有我的.mdf文件.所以我从我的项目中复制了它,之后它工作得很好.现在为什么我的mdf文件在预期路径中发布和安装时没有复制.
c# connection-string app-config sqlconnection local-database
考虑下面包含波斯语(从右到左语言)和英语(从左到右语言)的查询:
SELECT '??? ????? SQL ????'
Run Code Online (Sandbox Code Playgroud)
所需的结果是这个字符串:
سرورSQLنرمافزار
是否有任何函数或任何其他方法将字符串从ltr转换为rtl ??
考虑我们要创建一个包含textarea的页面来键入文章.textarea的大小设置为A5纸张大小.对于长文本,当用户键入并完成第一个textarea时,需要在第一个textarea后添加另一个textarea以允许用户继续在下一页输入(类似于MS word).你的建议是什么?
.A5 {
width: 148mm;
padding: 1cm;
margin: 1px;
box-sizing: border-box;
height: 210mm;
border: solid 1px;
resize: none;
display: block;
}
@page {
size: A5;
margin: 0;
padding: 0;
}
@media print {
.A5 {
visibility: visible;
position: fixed;
top:0;
left:0;
z-index: 99;
border:none;
}
body> :not(.A5){
color: red;
display:none;
}
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<h1>
Paper Print Test
</h1>
<input type="button" value="print" onclick="window.print()"/>
<textarea class="A5">
Article Text
</textarea>Run Code Online (Sandbox Code Playgroud)
考虑SQL Server中的以下查询

下图是Crystal Reports中此查询的结果.

正如您所看到的那样,右侧部分与sql server中的查询结果完全相同,左侧部分由锁定函数转换,以满足波斯语的从右到左的属性.
我需要获得这个功能.
如何在SQL Server中将选择查询的列标题检索为单列?(最好检索列的数据类型)
查询示例:
select a.PartId, a.PartName, b.GroupName
from Parts as a
inner join Groups as b on a.GroupRef = b.GroupId
Run Code Online (Sandbox Code Playgroud)
预期结果:
Columns
--------
PartId
PartName
GroupName
Run Code Online (Sandbox Code Playgroud) 我使用下面的 ajax 调用从数据库中检索数据并将其显示在我的页面中。
$.ajax({
type: "POST", url: "MyPage.aspx/LoadGrid",
data: "{idyear:'2020'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$(".gridBody").html(response.d);
},
failure: function (response) {
alert(response.d);
}
});
Run Code Online (Sandbox Code Playgroud)
目前此操作返回 1026 条记录,大约需要 12 秒。
由于这个过程很耗时,而且将来记录会更多,我必须找到一种替代方法来更快地加载数据。
所以,我尝试了另一种方法。我决定首先获取记录总数。例如,现在我有 1026 条记录,如果我想将数据加载到 100 条记录边界中,我需要同时进行 11 次 ajax 调用,并在所有 ajax 调用结束时合并结果。我认为通过应用这种方法,我可以一起开始所有呼叫,而不必等待结束呼叫才能开始新的呼叫。
var pagesize = 100;
getQty(function () {
var pagesqty = Math.floor(qty / pagesize);
if (qty % pagesize > 0) {
pagesqty += 1;
}
var control = 0;
for (var i = 0; i < …Run Code Online (Sandbox Code Playgroud) 我想将一个长字符串从我的数据库传输到我的网页。所以,我想尝试在我的服务器中压缩我的字符串并在客户端解压缩它的方法。
到目前为止,我的 sql server 代码中有这个:
select compress('this is just a sample string')
Run Code Online (Sandbox Code Playgroud)
返回这个:
0x1F8B08000000000004002BC9C82C5600A2ACD2E212854485E2C4DC829C5485E292A2CCBC7400206D53921C000000
Run Code Online (Sandbox Code Playgroud)
现在我需要在我的 javascript 中使用一个函数来恢复压缩操作:
var str = "0x1F8B08000000000004002BC9C82C5600A2ACD2E212854485E2C4DC829C5485E292A2CCBC7400206D53921C000000";
alert(decompressed(str));
Run Code Online (Sandbox Code Playgroud)
这应该提醒“这只是一个示例字符串”。
考虑三个参数:
@Y=2014
@M=11
@D=24
Run Code Online (Sandbox Code Playgroud)
我想在SQL Server中有一个函数,它获取三个数字并返回一个日期作为结果.
在SQL服务器中我们可以使用"isnull"函数,例如,如果Table1包含Field1并且只有一个Field1为null的记录,我们可以编写此查询:
select isnull(Field1,0) from Table1
Run Code Online (Sandbox Code Playgroud)
返回"0".
我们可以在C#中使用这样的任何函数吗?例如,考虑textBox1为空.我想显示"0".
MessageBox.show( FunctionName(textBox1.text , 0).toString());
Run Code Online (Sandbox Code Playgroud) sql ×5
sql-server ×5
javascript ×3
c# ×2
function ×2
jquery ×2
ajax ×1
app-config ×1
asp.net ×1
compression ×1
css ×1
html ×1