相关疑难解决方法(0)

varchar和nvarchar有什么区别?

它只nvarchar支持多字节字符吗?如果是这种情况,除了存储问题之外,还有什么意义varchars吗?

sql-server varchar nvarchar

1300
推荐指数
19
解决办法
101万
查看次数

LEN函数不包括SQL Server中的尾随空格

我在SQL Server 2005中有以下测试表:

CREATE TABLE [dbo].[TestTable]
(
 [ID] [int] NOT NULL,
 [TestField] [varchar](100) NOT NULL
) 
Run Code Online (Sandbox Code Playgroud)

填充:

INSERT INTO TestTable (ID, TestField) VALUES (1, 'A value');   -- Len = 7
INSERT INTO TestTable (ID, TestField) VALUES (2, 'Another value      '); -- Len = 13 + 6 spaces
Run Code Online (Sandbox Code Playgroud)

当我尝试使用SQL Server LEN()函数找到TestField的长度时,它不计算尾随空格 - 例如:

-- Note: Also results the grid view of TestField do not show trailing spaces (SQL Server 2005).
SELECT 
 ID, 
 TestField, 
 LEN(TestField) As LenOfTestField, -- Does not include trailing …
Run Code Online (Sandbox Code Playgroud)

sql-server

102
推荐指数
7
解决办法
7万
查看次数

SQL Server上的NVarchar存储与Varchar存储

我刚刚收到一位同事的通知,如果你为数据库中的VARCHAR字段分配一个长度,例如VARCHAR(1000),那么数据库将强制数据库为每一行保留1000个字节的空间,无论它是否是需要.

然而,他声称NVARCHAR(1000)字段将只保留所需的字节数.

我已经在这里和网络上尽可能地研究了这个,但是我找不到任何支持它的东西,SQL Server帮助文档也没有提到我能找到的任何地方.

sql-server

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

如何从SQL Server中的列中删除第一个字符

我有一个表,表A,表AI中有字段A.字段A中有值如下:

Street A
Street B
,Street C
Street D
etc
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何SQL允许我从字段A中移除第一个字符,其中有一个,.

我知道从哪里开始我可以在字段A中选择所有具有a的行,但在尝试删除它时我不知道从哪里开始.

sql sql-server-2008

6
推荐指数
2
解决办法
3万
查看次数

在SQL Server中存储字符串的最佳数据类型?

存储字符串时使用的最佳数据类型是什么,如名字?我见过varchar和nvarchar都用了.哪一个更好?有关系吗?

我也听说使用的最佳长度是255,但我不知道为什么.字符串是否有特定的长度?

sql sql-server

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

在sql server 2008中存储故事?

我将在SQL Server中的nvarchar(MAX)字段中存储故事,但我知道故事会比MAX允许的更长,所以我应该采取什么方法?我应该将故事分成多行,还是应该跳过使用数据库并使用文本文件?

c# sql-server sql-server-2008

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

LINQ在字符串上放置不需要的尾随空格

我对LINQ和MS SQL Server有一个非常烦人的问题.

我目前正在WPF C#中制作一些软件,并使用LINQ从数据库中的数据生成类.

但是,当我从程序中更新DB中的nvarchar或varchar字段时,LINQ会在字符串中添加尾随空格!

我在这样定义的表中有一个字段:

ProductName = NVARCHAR(10)
Run Code Online (Sandbox Code Playgroud)

所以,如果我这样做:

Product.Name = "Bike";
Product.Name = Product.Name.Trim();
repository.Add(Product);   // Runs an .InsertOnSubmit
repository.Save();         // Runs a .SubmitChanges
Run Code Online (Sandbox Code Playgroud)

然后DB中的结果数据是"Bike [SPACE] [SPACE] [SPACE] [SPACE] [SPACE] [SPACE]",其中[SPACE]只是一个空格(此处不能在此文本中写​​入多个空格).

为什么会这样做,我如何让它停止添加那些烦人的尾随空格?

提前致谢

linq sql-server spaces

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

ASP MVC:每当我尝试编辑记录时,文本框中都会出现奇怪的空格

这是出现的内容:

空格?

我使用了模板,并将模型传递到我的视图中,我注意到它们得到了那些空白。我一直试图将DropDownList我的性别默认为 a,但不知何故,它们不起作用。我试图调试并认为可能是因为那些奇怪的空格。(除部门外,其他都有)。

我该如何解决这个问题?

我还想补充一点,我使用Entity Framework.

模型

[Table("carl")]
public class Employee
{


    public int id { get; set; }

    [DisplayName("First Name")]
    [Required(ErrorMessage = "First name is required")]
    public string firstname { get; set; }


    [DisplayName("Last name")]
    [Required(ErrorMessage = "Last name is required")]
    public string lastname { get; set; }

    [Required(ErrorMessage = "Gender is required")]
    public string gender { get; set; }


    [DisplayName("Department")]
    [Range(1, 3)]
    [Required(ErrorMessage = "Dep name is required")]
    public int department { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc

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

奇怪的是SQL Server Management Studio中的数据

我在ASP.NET中创建一个简单的项目,并使用此代码继续登录,检测角色并打开确切的页面.

string cmdText = "SELECT Username,Role FROM Login WHERE Username = '" + TextBox1.Text + "' AND Password = '" + TextBox2.Text + "'";

string username = "";
string role = "";

using (SqlCommand SelectCommand = new SqlCommand(cmdText, connectionstring))
{
    SqlDataReader myReader;
    connectionstring.Open();

    myReader = SelectCommand.ExecuteReader();

    while (myReader.Read())
    {
        username = myReader["Username"].ToString();
        role = myReader["Role"].ToString();
    }

    myReader.Close();

    Response.Redirect(role + ".aspx");
}
Run Code Online (Sandbox Code Playgroud)

我设置它role+".aspx"是因为我在if函数中遇到了一些奇怪的错误..它无法正常工作..

但仍然有问题重定向到页面..我注意到了这一点

此搜索

因此,我对这个错误感到困惑,于是我决定检查SQL Server中的数据,并且有:

图像2

角色之后有5个空格.我试图删除它们.但是在保存数据后再次出现空间...我注意到同样的事情是名称和密码

图像3

但现在有9个空格..看起来像SQL Server Management Studio试图填写最多10个字母......

Username,password并且rolenchar(10)类型..是问题吗? …

c# sql-server asp.net

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

为什么MS Visual Studio将空白空间传递给SQL Server列?

我正在开发一个图书馆管理系统,使用Visual Studio 2015作为前端,Microsoft SQL Server 2014作为后端来存储数据.

这是我的桌子设计:

在此输入图像描述

但是当我尝试从Visual Studio传递数据时,它会将空白空间保存到定义的长度.

在此输入图像描述

例如,如果存储文本在标题上包含10个字符,则剩余490个商店作为空白.

突出显示的是列中的空白区域.如果我设置默认长度10,则无法存储超过10的数据

这有什么解决方案吗?这是我的数据库或Visual Studio上的问题?

sql-server visual-studio

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

如何在SQL Server中保存带有中文字符的文件名 - Varchar(100)?

我有这样的文件名:一个例子.pdf

我想将文件名保存在SQL Server表中,并从SQL Server表中读取它.你是怎样做的?

这是代码:

class Bestand
{
        public void Add(string filePath, DateTime fileDate, string fileName = "")
        {
            Bestand bestand = this.CurrentBestand;

            if (filePath.Length > 0 && CanReadFile(filePath))
            {
                Binary bin = new Binary();
                bin.Data = new System.Data.Linq.Binary(File.ReadAllBytes(filePath));

                bestand.BestandsDatum = fileDate;
                bestand.BestandsNaam = String.IsNullOrEmpty(fileName) ? Path.GetFileName(filePath) : Encoding.UTF8.GetBytes(fileName)[0].ToString();  

                bestand.Binary = bin;
            }
        }

        public void Save(string filePath)
        {
            byte[] buffer = Data.ToArray();
            System.IO.File.WriteAllBytes(filePath, buffer);
        }
…
}
Run Code Online (Sandbox Code Playgroud)

并调用此方法来保存文件:

documents[0].Add(beFile.Value, dtpDate.Value);
Run Code Online (Sandbox Code Playgroud)

并调用此方法打开文件:

public static void ViewBestand(IBestand bestand)
{
    string orgFilepath …
Run Code Online (Sandbox Code Playgroud)

c# sql-server

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

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