小编NJM*_*JMR的帖子

防止关闭工作簿

ABC.xls文件有宏.现在,宏有一个sub,当我按下时它被调用Ctrl + M.该子程序将打开一个打开文件对话框,用户可以在其中选择一个CSV文件.所以基本上,这个宏用于处理和保存CSV文件.下面是按下时调用的代码Ctrl + M.

Sub runProperChangeSubroutine()             ' Assigned to shortcut key CTRL + M.
    file_name = ActiveWorkbook.Name         ' Gets the file name.
    Application.Run file_name & "!ChangeSub"
End Sub
Run Code Online (Sandbox Code Playgroud)

当用户关闭工作簿时,我必须测试CSV具有终止字符串的每一行中的条件.如果该终止字符串不存在,我应该向用户弹出一个消息框并阻止关闭工作簿.所以我做了以下......

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim improperRowNumber As Integer
    Dim BlnEventState As Boolean
    improperRowNumber = returnImproperRow()

    BlnEventState = Application.EnableEvents
    Application.EnableEvents = True

    If improperRowNumber <> -1 Then
        Cancel = True
        MsgBox "The row number " & improperRowNumber & …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010

6
推荐指数
1
解决办法
2512
查看次数

SQL:SQL查询的准备失败.但是在手动完成时执行

我收到一个错误,在我准备查询时可以看到如下:

SQL-ERR:Preparation of INSERT Query Failed: Ora-Err: -1756 ORA-01756: 
quoted string not properly terminated
Run Code Online (Sandbox Code Playgroud)

查询如下:

EXEC SQL declare INSDTA STATEMENT;
EXEC SQL PREPARE INSDTA FROM :stmt;
if(sqlca.sqlcode < 0)
{
    DEBUG_LOG("SQL-ERR:Preparation of INSERT Query Failed: Ora-Err: %d %s\n", sqlca.sqlcode, sqlca.sqlerrm.sqlerrmc);
    DEBUG_LOG("The Query is: %s\n", insertQuery);
    return PREPARATION_FAILURE;
}
Run Code Online (Sandbox Code Playgroud)

而日志文件中的查询是:

INSERT INTO TABLENAME
VALUES (
    '00000001',
    '00004467',
    '0',
    'R56565',
    '03404395',
    '20110601',
    '999',
    '87685785',
    '2017-01-10-23.05.26.000000',
    'KRMAR',
    'KRMAR',
    '77898878',
    '03',
    '00000001',
    'U',
    '01',
    '1',
    '87685785',
    'R56565',
    '89878988',
    'cde',
    'Andr\351',
    'andre.rae@abc.com',
    '01192966',
    'HGJF',
    '00000000', …
Run Code Online (Sandbox Code Playgroud)

sql oracle-pro-c

5
推荐指数
1
解决办法
298
查看次数

JCS到Autosys迁移

我们已经在运行的作业JCS,而且由于JCS不再支持,我们在迁移任务JCSAutosys.没有人在我们的团队对如何迁移任何想法任务JOBJCSAutosys.即使我谷歌搜索相同但没有帮助.

任何人都可以请步骤将JCS作业迁移到Autosys.

jobs jcs autosys

5
推荐指数
1
解决办法
181
查看次数

Visual Studio 2015不会发现单元测试:C++

我正在开发一个C++项目,并开发了一些测试用例.我能够执行测试用例,直到所有测试用例突然从测试资源管理器中消失.我的意思是说测试资源管理器中没有显示测试方法,即使测试项目编译正确.

我按照这里给出的步骤没有成功.

这些是我做过的事情:

  • 我删除了%temp%文件夹的内容.
  • 我将默认的处理器架构更改为X64.(Test>Test Settings>Default Processor Architecture>X64)
  • Restarted VS2015.
  • Restarted 系统.
  • 我试过跑devenv /safemode(在命令提示符下),没有运气.
  • 我试过跑devenv /ResetSettings(在命令提示符下),没有运气.

笔记:

  • 我的解决方案中只有一个测试项目,它现在只包含一些测试.
  • 我的项目文件位于网络驱动器上,因为我不允许在本地存储.
  • 我无法禁用防病毒软件或防火墙,我的系统没有管理员权限.

c++ microsoft-cpp-unit-test visual-studio-2015

5
推荐指数
1
解决办法
667
查看次数

SQL注入漏洞

我正在开发一个客户端已在代码中报告SQL注入漏洞的项目.这是我的代码......

1 public int ExecuteNonQuery(string query, SqlParameter[] parameters)
2 {
3   using (SqlCommand command = CreateCommand(query, parameters))
4   {
5       int rowsAffected = command.ExecuteNonQuery();
6       return rowsAffected;
7   }
8 }
Run Code Online (Sandbox Code Playgroud)

CreateCommand方法去为

private SqlCommand CreateCommand(string commandText, SqlParameter[] parameters)
{
    SqlCommand retVal = this.connection.CreateCommand();
    retVal.CommandText = commandText;
    retVal.CommandTimeout = this.commandsTimeout;
    retVal.Parameters.AddRange(parameters);
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

该缺陷报告在第3行.我无法理解这里发生了什么样的攻击,因为这是一个控制台应用程序.但我必须修复这个缺陷,我不知道如何修复它.

查询是

@"delete from {0} where runId in 
( select runId from {0}
  inner join 
    ( select sId as sId_last,
        wfId as wfId_last, …
Run Code Online (Sandbox Code Playgroud)

c# sql-server sql-injection

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

数据段中只读存储器的使用

根据我的理解,数据段由两部分组成。

 1. Initialized segment.
    a. Read Only.
    b. Read/Write.
 2. Uninitialized segment.
Run Code Online (Sandbox Code Playgroud)
  • 读/写内存用于在文件范围内声明的变量以及静态局部变量。
  • 只读存储器用于字符串等常量。

例子:

int main(void)
{
   char* cptr = "Hello"; // The string "Hello" will sit in 'Read only' memory.
   //cptr[2] = 'Z'; // Gives seg fault. 
   ...
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,“只读”内存是否仅用于存储字符串常量?

c

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

C++应用程序中的静态数据内存限制

有人在我们的C++应用程序中编写了函数,并且已经在生产中,我不知道为什么它还没有崩溃应用程序.下面是代码.

char *str_Modify()
{
    char buffer[70000] = { 0 };
    char targetString[70000] = { 0 };

    memset(targetString, '\0', sizeof(targetString));

    ...
    ...
    ...
    return targetString;
}
Run Code Online (Sandbox Code Playgroud)

如您所见,该函数返回局部变量的地址,并且一旦函数返回,将释放分配的内存.我的问题

  • 想知道什么是静态数据内存限制?
  • 什么可以快速修复此代码?将变量设为targetString静态是一个好习惯吗?

c c++

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

如果我们无法修改set元素,为什么std :: set提供了begin()和end()

由于元素std::set按排序顺序排列,每个元素都是唯一的.此外,我们不能修改的元素set,那么为什么库提供了begin()end()功能,因为我们已经有cbegin()cend().

c++ set

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

CSV文件的内容到C中的结构

我有一个结构......

struct myStruct {
    char Topic[8];
    char Unit[8];
    char Prim[1];
    char Temp[2];
    ...
    ...
    ...
    };
Run Code Online (Sandbox Code Playgroud)

我正在解析csv文件中的数据.其中每个标记是该顺序中结构的成员.

ptr = fgets( record, MAX_RECORD, fpIn );
strcpy(eachRow, record);
token = strtok(eachRow, ",");
while(token != NULL)
{   
    printf("Token = %s \n", token);
    // I have to copy the token into that members of the structure in that order.
    token = strtok(NULL, ",");
}
Run Code Online (Sandbox Code Playgroud)

如何将structuer memebers映射到指针,以便我可以在循环中将令牌直接复制到结构的成员中?

c csv structure

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

使用shared_ptr的单链表

我试图使用 来实现单链表share_ptr。这是实现...下面是节点类...

template<typename T>
class Node
{
public:
    T value;
    shared_ptr<Node<T>> next;
    Node() : value(0), next(nullptr){};
    Node(T value) : value(value), next(nullptr){};
    ~Node() { cout << "In Destructor: " << value << endl; };
};
Run Code Online (Sandbox Code Playgroud)

下面是链表类...

template<typename T>
class LinkedList
{
private:
    size_t m_size;
    shared_ptr<Node<T>> head;
    shared_ptr<Node<T>> tail;
public:
    LinkedList() : m_size(0), head(nullptr) {};
    void push_front(T value)
    {
        shared_ptr<Node<T>> temp = head;
        head = make_shared<Node<T>>(Node<T>(value));

        head->next = temp;
        m_size++;

        if (m_size == 1)
            tail = head;
    }
    void pop_front() …
Run Code Online (Sandbox Code Playgroud)

linked-list shared-ptr c++11

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