小编shA*_*A.t的帖子

以编程方式创建SQL Server表

我需要以编程方式在C#中创建一个SQL Server 2008表,以便从列列表中生成表的列(每个列名是表中行的名称)

我的问题是循环列列表的命令字符串是什么,并创建记录的表:

List<string> columnsName = ["col1","col2","col3"]
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含列中的列的表columnsName.但由于列表大小不恒定,我需要循环遍历列表以生成表列.

c# sqlcommand sql-server-2008-r2

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

如何更改视图中的数据类型?

在MySQL中,有没有一种方法可以更改字段的数据类型(原始数据类型除外),而无需中间表的参与?

mysql sql view type-conversion

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

使用Openquery链接服务器更新表

我尝试过这段代码但仍然遇到以下错误,也许有人可以帮忙吗?

UPDATE a 
SET    a.MMDWNO = '21'
FROM   OPENQUERY(NMIIFLIB,
       'select * from MVXCDTANSN.MITMAS WHERE MMITTY = ''25''') a 
Run Code Online (Sandbox Code Playgroud)

错误:

链接服务器"NMIIFLIB"的OLE DB提供程序"MSDASQL"返回消息"[IBM] [iSeries Access ODBC驱动程序] [DB2 UDB] SQL7008 - MVXCDTANSN中的MITMAS对操作无效."
消息7343,级别16,状态4,行1
链接服务器"NMIIFLIB"的OLE DB提供程序"MSDASQL"无法更新表"[MSDASQL]".

select语句工作正常,但是当我尝试更新时,我总是坚持这个.

sql t-sql sql-server openquery sql-server-2008

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

使用WinRar命令行压缩文件 - 正在使用的文件

我正在使用这个简单的命令将文件压缩到WinRar的存档中.

winrar a -afzip -ep1 "C:\ok.zip" "C:\ok"
Run Code Online (Sandbox Code Playgroud)

但是如果从该目录运行某些东西(例如一个简单的.exe),它会给我一个错误:

"该进程无法访问该文件,因为它正由另一个进程使用."

是否有任何开关甚至会压缩正在使用的文件.

我坚持使用WinRar,因为我的客户推荐了它.

但是也想要你的建议,但不要以为客户会让我使用其他任何东西.

zip command-line batch-file winrar

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

如何解析JSONString到数据集?

我正在使用Web服务创建一个C#应用程序.在我的Web服务中,我正在使用JSONString数据.但我无法将此字符串转换为DataSet.

JSONString是:

{
    "Table": [
        {
            "DisplayVoucherNumber": "A101239Z",
            "ActualDate": "08/07/2013",
            "AccountName": "shyamal",
            "Pcs": "50",
            "Weight": "500.000"
        }
    ],
    "Table1": [
        {
            "DisplayVoucherNumber": "R101249B",
            "ActualDate": "11/07/2013",
            "AccountName": "vipul",
            "NetWeight": "90.000",
            "Weight": "80.000",
            "Difference": "10.000"
        },
        {
            "DisplayVoucherNumber": "R101249B",
            "ActualDate": "11/07/2013",
            "AccountName": "vipul",
            "NetWeight": "500.000",
            "Weight": "100.000",
            "Difference": "400.000"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

c# json type-conversion

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

变量名称和字符串连接'+'错误作为不正确的语法

RESTORE DATABASE Umbraco6
FROM  DISK = 'C:\Temp\initial_db.bak'
    WITH  MOVE 'Umbraco6'     TO @db_physical_path  + '\test_data.mdf',
MOVE 'Umbraco6_log' TO  @db_physical_path + '\test_data.ldf',
REPLACE
Run Code Online (Sandbox Code Playgroud)

在上面的SQL脚本中我收到错误:

'''附近的语法错误不正确.

有任何想法吗?

sql-server database-restore

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

通过管理工作室将数据库设置为 multi_user

我不得不将我的数据库设置为 single_user 模式以允许dbcc checkdb修复,现在我无法将我的数据库恢复到 multi_user。我在查询窗口中针对 master 数据库尝试了以下命令,但它没有按照另一个堆栈溢出帖子的建议工作:

USE [master]; 
GO 

ALTER DATABASE mydb SET MULTI_USER WITH ROLLBACK IMMEDIATE; 
GO
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

消息 5064,级别 16,状态 1,第 2 行此时无法更改数据库“mydb”的状态或选项。数据库处于单用户模式,当前有用户连接到它。
消息 5069,级别 16,状态 1,第 2 行 ALTER DATABASE 语句失败。

如果我右键单击数据库并尝试选择属性,则会错误提示它已在使用中。

任何帮助将不胜感激。

database sql-server multi-user single-user

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

TraceSource锁定文件

我有一个课程的实例,可以存在很长时间(几个小时到几个月).它有一个将日志事件输出到文本文件的方法C:\mylog.txt.如下

public MyClass
{
    private static System.Diagnostics.TraceSource traceSource = new System.Diagnostics.TraceSource("My.Source");

    private static void MyMethod()
    {
        traceSource.TraceEvent(System.Diagnostics.TraceEventType.Information, 0, "MyMethod called.");
    }
}
Run Code Online (Sandbox Code Playgroud)

C:\mylog.txt可能会变得非常大,我想删除它.但我无法删除该文件,因为它被锁定traceSource(通过终止进程我可以删除文件).

所有示例都将System.Diagnostics.TraceSource其实例声明为上面的静态类成员.鉴于我的情况,在下面的方法中初始化它是否可以接受?

public MyClass
{
    private static void MyMethod()
    {
        var traceSource = new System.Diagnostics.TraceSource("My.Source");
        traceSource.TraceEvent(System.Diagnostics.TraceEventType.Information, 0, "MyMethod called.");
    }
}
Run Code Online (Sandbox Code Playgroud)

或者是否有必须声明为静态的特定原因?难道我做错了什么?文件是否锁定了预期/必需的行为?

.net c# tracesource

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

Windows:执行后删除EXE

我正在使用C#中的应用程序执行以下操作:

  1. 将EXE写入磁盘
  2. 通过执行EXE Process.Start()

我现在正在努力确保EXE一旦关闭就会被删除.最简单的方法是FileOptions.DeleteOnClose在创建EXE时使用设置参数File.Create.

但是,这意味着EXE在使用时无法执行.关闭文件句柄后,EXE会立即删除,然后才能执行.

有没有办法在我的应用程序中保留对EXE的"弱引用",它不会锁定文件并允许它被执行?或者,有没有办法解锁EXE执行文件句柄仍然打开?我还缺少其他明显的解决方案吗?

澄清答:我知道其他删除正在使用的文件的方法,最终会删除文件(例如重启时).然而,我正在寻找一种方法,一旦它开始执行就立即删除该文件由操作系统处理(例如,当运行首先执行该文件然后删除它的批处理时,如果批处理作业终止,该文件将保留在磁盘上).

澄清B:解释更大的图片:应用程序接收和解密可执行文件.解密后,应该执行该文件.但是,我想确保解密版本的EXE不会保留在磁盘上.理想情况下,我还想阻止用户复制解密的EXE.但是,由于解密应用程序作为同一用户运行,因此无法以真正安全的方式实现,因为两者在系统上具有相同的权限.

c# windows file-handling

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

什么原因导致Microsoft excel错误"删除记录:从/xl/workbook.xml部分命名范围(工作簿)"

我有一个大的Microsoft Excel文件,在我办公室的用户之间共享.该文件有一个宏和一组数据验证.该文件在每三个月的最后两周使用.该文件在圣诞节前完美运行,但是,我们在3月份遇到了错误.文件打开时出现以下错误.
错误

单击是后,出现以下内容.
在此输入图像描述

宏的代码是:

 Sub Update()

 'Declaring Variables.
  Dim Number_Rows As Long
  Dim Oppt As String
  Dim Array_Oppt() As String
  Dim Rows_Array As Integer

 'Stops screen refreshing to save time.
  Application.ScreenUpdating = False

 'removing any data validation and conditional formatting
  Sheet1.Activate
  Cells.Select
  Selection.Validation.Delete
  Selection.FormatConditions.Delete


 'Assigning value to array.
  Rows_Array = 0
  ReDim Preserve Array_Oppt(Rows_Array)


 'Moving "Other" rows to the end of the data
  Sheet1.Select
  Selection.AutoFilter Field:=23, Criteria1:= _
  "OTHER"

  Range("A2", Cells(Rows.Count,       "A").End(xlUp)).SpecialCells(xlCellTypeVisible).Cells(1, 1).Select
 Selection.EntireRow.Select
 Range(Selection, Selection.End(xlDown)).SpecialCells(xlCellTypeVisible).Select
 Selection.Copy
 Sheet8.Select
 Sheet8.Range("A1").Select
 ActiveSheet.Paste …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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