正常情况下,sql
server中能实现的语句在c#中aqlcommand中执行是没有问题,我们做开发的时候一般是sql
server中先验证查询语句没问题了才往c#代码中添加。
您这里导致这种情况的可能是:c#中字符串的拼装需要注意的一些问题,你可以在执行sqlcommand的代码处断点,然后查看实际执行的sql语句是不是您想要的语句。因为c#字符串有一些需要注意的地方,例如:字符串中有"或者\这种符号,需要加\做标记,如string
s=”\"or\\“,实际s是"or\
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>mysql数据库
/// <param name="SQLStringList">多条SQL语句</param>
public static void ExecuteSqlTran(List<string> SQLStringList)
{
using (MySqlConnection conn = new MySqlConnection(MySqlHelperConnStr))
{
connOpen();
MySqlCommand cmd = new MySqlCommand();
cmdConnection = conn;
MySqlTransaction tx = connBeginTransaction();
cmdTransaction = tx;
try
{
for (int n = 0; n < SQLStringListCount; n++)
{
string strsql = SQLStringList[n]ToString();
if (strsqlTrim()Length > 1)
{
cmdCommandText = strsql;
cmdExecuteNonQuery();
}
//后来加上的每500条语句重启一次事务,插入数据
if (n > 0 && (n % 500 == 0 || n == SQLStringListCount - 1))
{
txCommit();
tx = connBeginTransaction();
}
}
//txCommit();//原来一次性提交
}
catch (SystemDataSqlClientSqlException E)
{
txRollback();
throw new Exception(EMessage);
}
}
}
哎
标准的写法
INSERT INTO 表名 (字段A,字段b) VALUES(值1,值2)
也可以
INSERT INTO 表名 (字段A,字段b)
SELECT 值1,值2 FROM 别的表名
如果我想在指定的两行中插入一行应该怎么写?
不清楚意思 麻烦举个例
那是中间插入一行把
如果数据库建立里聚集索引
实际物理存放将按聚集索引来存在
如果未有聚集索引每次插入数据的位置可能都不一样
实在需要按某个东西来排序的话
加个排序字段就行了
以上就是关于在C#中,如何使用sql语句向数据库中添加信息全部的内容,包括:在C#中,如何使用sql语句向数据库中添加信息、向mysql数据库中插入记录、在sql 2005的一个数据库中已经有一张表了,现在我想在这表中插入一行信息,怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)