我想在我的表中插入数据,但只插入我的数据库中不存在的数据!
这是我的代码:
ALTER PROCEDURE [dbo].[EmailsRecebidosInsert]
(@_DE nvarchar(50),
@_ASSUNTO nvarchar(50),
@_DATA nvarchar(30) )
AS
BEGIN
INSERT INTO EmailsRecebidos (De, Assunto, Data)
VALUES (@_DE, @_ASSUNTO, @_DATA)
WHERE NOT EXISTS ( SELECT * FROM EmailsRecebidos
WHERE De = @_DE
AND Assunto = @_ASSUNTO
AND Data = @_DATA);
END
Run Code Online (Sandbox Code Playgroud)
错误是:
消息156,级别15,状态1,过程EmailsRecebidosInsert,第11行
关键字'WHERE'附近的语法不正确.
我正在尝试执行此查询:
declare @tablename varchar(50)
set @tablename = 'test'
select * from @tablename
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
Msg 1087,Level 16,State 1,Line 5
必须声明表变量"@tablename".
什么是动态填充表名的正确方法?
我有一个程序,使用如下所示的方法将一些数据写入文件.
public void ExportToFile(string filename)
{
using(FileStream fstream = new FileStream(filename,FileMode.Create))
using (TextWriter writer = new StreamWriter(fstream))
{
// try catch block for write permissions
writer.WriteLine(text);
}
}
Run Code Online (Sandbox Code Playgroud)
运行程序时出现错误:
未处理的异常:System.UnauthorizedAccessException:拒绝访问路径'mypath'.在System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)at System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,nt32 rights,Boolean useRights,FileShare share,Int32 bufferSize,FileOptions ptions,SECURITY_ATTRIBUTES secAttrs) System.IO.FileStream..ctor中的String String msgPath,Boolean bFromProxy(字符串路径,FileMode模式,FileAccess访问FileShare共享,Int32 bufferSize,FileOptions选项,字符串msgPath,Boolea bFromProxy)
问题:我需要使用哪些代码来获取此信息以及如何授予访问权限?
我有一个sproc(MSSQL 2k5),它将为LIKE克劳斯带一个变量,如下所示:
DECLARE @SearchLetter2 char(1)
SET @SearchLetter = 't'
SET @SearchLetter2 = @SearchLetter + '%'
SELECT *
FROM BrandNames
WHERE [Name] LIKE @SearchLetter2 and IsVisible = 1
--WHERE [Name] LIKE 't%' and IsVisible = 1
ORDER BY [Name]
Run Code Online (Sandbox Code Playgroud)
不幸的是,当前运行的行会引发语法错误,而注释的where子句运行正常.任何人都可以帮助我让未评论的线路工作吗?
今天我已经更新了我的android工作室并运行了以前版本的应用程序.当我运行应用程序与以前的版本应用程序启动非常快但当我更新Android工作室和运行相同的应用程序与更新版本然后应用程序占用太多是时候发布了.我搜索了这个问题,发现如果启用了即时运行,那么禁用它,这样我就完成了同样的操作,并且应用程序的启动速度与原来一样快.
现在我的问题是 -
我有一个Windows窗体,有两个DataGridViews(DGV),每个将包含25,000多条记录和21列.我已经使用DataAdapter成功地从数据库加载了数据,然后我尝试使用for循环填充DGV.每种方法花费的时间大致相同.第一次将数据填入DGV时需要太长时间(7分钟以上),然后随后的时间更合理(~30秒).所以我的问题是,用平均<= 1分钟的大量数据加载DGV的最佳方法是什么?我非常喜欢DGV的功能,但是如果推动推动我愿意使用不同的技术,即使它意味着放弃一些功能.
//create the new object for cars
Cars s1 = new Cars("Toyota", 2005, 500000, "White", "good");//Car1 Ob
Cars s2 = new Cars("Honda", 2004, 550000, "Black", "fine");//Car2 Ob
Cars s3 = new Cars("Nissen", 2012, 490000, "Yellow", "best");//Car3 Ob
Cars s4 = new Cars("Suzuki", 2012, 390000, "Blue", "fine");//Car4 Ob
Cars s5 = new Cars("BMW", 2012, 1000000, "Green", "Good");//Car5 Ob
//Create list to add objects into the memory
List<Cars> list1 = new List<Cars>();
list1.Add(s1);list1.Add(s2);list1.Add(s3);list1.Add(s4);list1.Add(s5);
//cars info which has the lowest price
double lowest_price = …Run Code Online (Sandbox Code Playgroud) 我试图替换SQL Server中的第n个字符.我尝试使用它replace():
SELECT REPLACE(ABC,0,1) FROM XXX
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,所有的零都将替换为一个,但我只想在特定位置更改它,有时该位置可能会发生变化.
我只是C#中的菜鸟,我有这个问题要问你.
我这里有一个表格,要求登录详细信息.它有两个文本字段:
我想要的是获取在该文本字段中输入的字符串.
我还不熟悉C#中的方法..(在java中,使用了getString方法).C#中的"等效"方法可能是什么?
每次我混淆选择varchar(max)或varchar(fix)数据类型.假设我有一个大约5000 varchar的数据列.列不是null类型.
我应该设置varchar(max)not null或varchar(5000)not null.
在可以为空的数据类型的情况下也是如此.
CREATE TABLE [dbo].[tblCmsPages](
[CmsPagesID] [int] IDENTITY(1,1) NOT NULL,
[PageName] [varchar](250) NOT NULL,
[PageContent] [varchar](max) NOT NULL,
[Sorting] [int] NOT NULL,
[IsActive] [bit] NOT NULL)
Run Code Online (Sandbox Code Playgroud)
//要么
CREATE TABLE [dbo].[tblCmsPages](
[CmsPagesID] [int] IDENTITY(1,1) NOT NULL,
[PageName] [varchar](250) NOT NULL,
[PageContent] [varchar](5000) NOT NULL,
[Sorting] [int] NOT NULL,
[IsActive] [bit] NOT NULL
Run Code Online (Sandbox Code Playgroud)
// [PageContent]将是5000个char或单个char或null然后我应该采取什么.
彼此想我想知道.null和not null之间的主要区别是什么.它仅用于验证检查以及对性能的影响.
sql-server ×5
c# ×4
sql ×4
.net ×1
android ×1
datagridview ×1
forms ×1
t-sql ×1
tablename ×1
winforms ×1