关闭

在此上下文中不允许使用子查询。只允许使用标量表达式。Insert 查询结果-解决方法

标签: insertsmsstringc
6232人阅读 评论(0) 收藏 举报
分类:

在insert语句中需要插入查询出来的值。 Insert into a (a1,a2,a3) values (1,select num from b where id=1,3) 这样写就出现了“在此上下文中不允许使用子查询。只允许使用标量表达式。”这个错误

可以这样: insert into a (a1,a2,a3) select 1,num,3 from b where id=1 即可解决问题.



INSERT INTO SMS_Customer(vc_AutoID, vc_ID, vc_Name, vc_Remark)
SELECT 'd16197b6-6179-4be9-9baa-16c27ede5f4a',MAX(vc_ID)+1,'2','3' FROM SMS_Customer



         /// 自动添加客户,编号自动增加
        /// </summary>
        /// <param name="dateReport"></param>
        /// <returns></returns>
        public static bool InsertDataToSMS_CustomerIDADD(Customer customer)
        {
           
            
              //添加客户信息
            string strSQLInsert_Customer = "Insert into SMS_Customer(" +
             "vc_AutoID," +          //uid列
             "vc_ID," +
             "vc_Name," +           //客户名称
             "vc_Remark" +
             ")" ;

            string strSQL = strSQLInsert_Customer + 
                            " select '" +
                            customer.Vc_AutoID + "'," +
                            "MAX(vc_ID) + 1,'" +
                            customer.Vc_Name + "','" +
                            customer.Vc_Remark + "'" +
                            " from SMS_Customer";
            if (SQLHelper.ExecuteSQL(strSQL) > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:626732次
    • 积分:7011
    • 等级:
    • 排名:第3374名
    • 原创:100篇
    • 转载:136篇
    • 译文:0篇
    • 评论:66条
    最新评论