GVKun编程网logo

为什么插入表行的SQL查询不能正常工作?(为什么sql查询不到表格的信息)

16

在这篇文章中,我们将为您详细介绍为什么插入表行的SQL查询不能正常工作?的内容,并且讨论关于为什么sql查询不到表格的信息的相关问题。此外,我们还会涉及一些关于bash–为什么带有反引号的if语句不能

在这篇文章中,我们将为您详细介绍为什么插入表行的SQL查询不能正常工作?的内容,并且讨论关于为什么sql查询不到表格的信息的相关问题。此外,我们还会涉及一些关于bash – 为什么带有反引号的if语句不能正常工作?、c – 为什么以下for循环不能正常工作?、c – 为什么我的包装器setenv()不能正常工作?、c – 为什么简单的内联汇编功能在GCC中不能正常工作?的知识,以帮助您更全面地了解这个主题。

本文目录一览:

为什么插入表行的SQL查询不能正常工作?(为什么sql查询不到表格的信息)

为什么插入表行的SQL查询不能正常工作?(为什么sql查询不到表格的信息)

我对C#和SQL相当陌生,因此这可能是一个非常容易回答的问题。

我正在尝试EventList通过C#代码向表()添加一行。我已经打开了我的文件,SqlConnection没有任何问题,而且我知道我已连接到正确的数据库,因为一些早期的代码正在查询其中一个表中的行,并且返回正确的键。

将行插入表中的SQL查询是这样的:

sqlCmd.CommandText =
    "insert into EventList values ('" +
    eventListIdentifier + "','" +
    eventId.ToString() + "')";
sqlCmd.ExecuteNonQuery();

我正在使用SQL Server Management Studio
Express来查看数据库中的表。运行上述查询后,我右键单击该EventList表,然后单击Open Table

我没有看到基于上述调用添加的新行。有什么想法我可能做错了吗?

更新1

我要插入的数据类型是:

eventListIdentifier (varchar(100),null)
eventId (varchar(8000),null)

我在SSMS中手动创建了相同的查询,如下所示:

insert into EventList(eventListIdentifier,eventId ) values('test','blah')

并说以下内容:

(1 row(s) affected)

但是,当我右键单击该表并将其打开时,没有任何行被添加到该表中。

更新2

输出System.Console.WriteLine(sqlCmd.CommandText);由@billinkc的要求:

insert into EventList(eventListIdentifier,eventId) values ('7/09/2011 10:43:55 AM','7')

bash – 为什么带有反引号的if语句不能正常工作?

bash – 为什么带有反引号的if语句不能正常工作?

我正在尝试制作一个Bash脚本,用户可以在其中复制文件,看看是否成功完成.但每次复制完成,无论是否正确,都会显示第二个输出“未完成复制”.知道怎么解决这个问题吗?
if [ `cp -i $files $destination` ];then
        echo "copy successful."
else
        echo "copy was not done"
fi
你想要的是什么
if cp -i "$file" "$destination"; then #...

Don’t forget the quotes.

你的版本:

if [ `cp -i $files $destination` ];then #..

将始终执行else分支.

shell中的if语句接受命令.
如果该命令成功(返回0,它被分配到$?),则条件成功.

如果你这样做[…];然后,它就像是一样
如果测试…;那么因为[]是test命令/ builtin的语法糖.

在您的情况下,您将cp操作的stdout *的结果作为参数传递给test

cp操作的标准输出将为空(cp通常只输出错误,然后输出到stderr).具有空参数列表的测试调用是错误的.该错误导致非零退出状态,因此您始终获得else分支.

* $()进程替换或反引号进程替换会破坏它们运行的​​命令的标准输出

c – 为什么以下for循环不能正常工作?

c – 为什么以下for循环不能正常工作?

#include<stdio.h>

int main() 
{
    char ch;
    for(ch='0';ch<=127;ch++)
    printf("%c %d",ch,ch);
    return 0;
}

这怎么会在执行时变成无限循环.我想知道背后的确切原因吗?类型是从int转换为char到char的原因吗?

还有一个小问题

是否所有具有.c扩展名的文件都需要在所有文件中都有main()?

解决方法

在这里,您将char与int进行比较

for(ch='0';ch<=127;ch++)

char的int值可以是0到255或-128到127,具体取决于实现.

在您的情况下,char是一个带符号的char,它可以将范围的值保持为-128到127.因此,一旦值达到127,在您的情况下,它会溢出并且您将获得负值并且循环将永远持续,因为它的值将永远不会超过127.once它达到127,在下一次迭代中,该值将是-128,并且循环继续.

你可以使用unsigned char ch;

c – 为什么我的包装器setenv()不能正常工作?

c – 为什么我的包装器setenv()不能正常工作?

我有下面的方法,它正确地将ret值设置为0(表示setenv成功),但是当我检查这个环境变量是否实际设置时,它不存在.为什么会这样?

void Class::mysetenv(char* a,char* b)                           
     {   
         if(a==0 || b==0)
             return;

         int ret = setenv(strdup(a),strdup(b),1);
         printf("ret: %d %s %s\n",ret,a,b);                          
     }

解决方法

你的功能泄漏了. setenv的联机帮助页说:

This function makes copies of the strings pointed to by name and value

因此,在将它们传递给它之前,您不必自己复制它们.

你是否在shell中执行这样的程序?

./a.out FOO 42

那么,将为如此执行的进程(a.out)设置环境变量,并将其继承到由它启动的进程.但它不会“冒泡”到执行a.out的shell中.这也是为什么诸如set或export之类的命令是shell内置而不是真正的程序的原因.在bash中结帐“帮助导出”.

c – 为什么简单的内联汇编功能在GCC中不能正常工作?

c – 为什么简单的内联汇编功能在GCC中不能正常工作?

我有一个简单的内联汇编函数,它在MSVC中工作正常,但由于某种原因拒绝在Apple GCC 4.2.1(i386 arch,强制32位模式)下工作.幸运的是,更复杂的汇编函数工作得很好,但是我无法理解为什么这个函数不能工作…不幸的是,我无法调试它 – 看起来在XCode 4.0.2中没有寄存器窗口(它是3.2版本).

我很肯定这个问题与英特尔风格的装配无关.

int Convert(double value)
{
     _asm
     {
         fld value
         push eax
         fistp dword ptr [esp]
         pop eax
     }

// The returned value is insane
}

解决方法

Fortunately,much more complex assembly functions work fine[…]

这些也是内联汇编功能吗?因为GCC使用completely different语法进行内联汇编程序.您可以使语法看起来更熟悉,请参阅wikipedia.

1     int Convert(double value) 
2     {   
3         int result; 
4         __asm__ __volatile__ ( 
5             "fist %0\n\t" 
6             : "=m" (result) 
7             : "t" (value) 
8             );          
9         return result; 
10     }

我是怎么做的. = m指定我们想要一个内存操作数来存储结果(我们不希望寄存器作为拳头不能用于那些). t指定值在堆栈顶部传递,这也确保了我们的正确清理.

编辑:

另一件要尝试的事情,假设gcc与xcode允许与msvc相同的内联汇编程序,是:

int Convert(double value)
 {
      int result;
      _asm
      {
          fld value
          push eax
          fistp dword ptr [esp]
          pop eax
          mov [result],eax
      }
      return result;
 }

这也应该关闭你可能会得到的关于丢失返回值的警告.可能只是因为允许您通过编写eax而不是msvc来从汇编程序块返回值更严格.

今天关于为什么插入表行的SQL查询不能正常工作?为什么sql查询不到表格的信息的讲解已经结束,谢谢您的阅读,如果想了解更多关于bash – 为什么带有反引号的if语句不能正常工作?、c – 为什么以下for循环不能正常工作?、c – 为什么我的包装器setenv()不能正常工作?、c – 为什么简单的内联汇编功能在GCC中不能正常工作?的相关知识,请在本站搜索。

本文标签: