dropdownlist级联时 出现语法错误c#.net

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dropdownlist级联时 出现语法错误c#.net相关的知识,希望对你有一定的参考价值。

protected void Page_Load(object sender, EventArgs e)

if (!IsPostBack)


string cnnstr = "server=(local);database=DK;uid=anqingsong;pwd=897577";
SqlConnection conn = new SqlConnection(cnnstr);
conn.Open();
string sql = "select LareaID,LareaName from larea ";
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "larea");
conn.Close();
DropDownList7.DataSource = ds;
DropDownList7.DataValueField = "LareaID";
DropDownList7.DataTextField = "LareaName";
DropDownList7.DataBind();

string cnn = "server=(local);database=DK;uid=anqingsong;pwd=897577";
SqlConnection con = new SqlConnection(cnn);
con.Open();
string SQL = "select ItemID,ItemName from item ";
SqlDataAdapter DA = new SqlDataAdapter(SQL, con);
DataSet DS = new DataSet();
DA.Fill(DS,"item");
con.Close();
DropDownList2.DataSource = DS;
DropDownList2.DataValueField = "ItemID";
DropDownList2.DataTextField = "ItemName";
DropDownList2.DataBind();


protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
string cnnstr = "server=(local);database=DK;uid=anqingsong;pwd=897577";
SqlConnection conn = new SqlConnection(cnnstr);
conn.Open();
string sql = "select KeyID,KeyName from key where ItemID='" + DropDownList2.SelectedValue.Trim() + "' ";
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "key");
conn.Close();
DropDownList3.DataSource = ds;
DropDownList3.DataValueField = "KeyID";
DropDownList3.DataTextField = "KeyName";
DropDownList3.DataBind();


这是我的后台代码 ddl7,8级联 ddl2,3级联 在同一个页面 ddl7,8的没有写出来 为什么我运行的时候 提示我 da.Fill(ds, "key");这行 “key”附近有语法错误 ddl7,8级联没有错 整个编译是没有错的
autopostback设置为true了 没用 全部重新生成了 也没用 !

参考技术A

地区下拉框中,设置地区下拉框autoPpstBack的真

的保护无效的Page_Load(对象发件人,EventArgs E)

(!IsPostBack的)

DDL地区。数据源= Region表;

DDL地区。的DataBind();

DDL大面积DataTextField =地区ID;

DDL地区的DataValueField则是“大区域名称;

保护无效_SelectedIndexChanged(对象发件人,EventArgs五)

的串大面积ID =的DDL大面积的SelectedValue

DDL区的DataSource =区域表DDL地区;

区。DDL的DataBind();

DDL面积?DataTextField =“地区的ID”;

DDL面积。DataValueField则是=“区域名称”;

的保护无效的DDL面积_SelectedIndexChanged的(对象发件人,EventArgs五)

字符串区域ID =的DDL面积。的SelectedValue;

DDL许多数据源=国家表;
> DDL许多的DataBind();

DDL许多的DataTextField =“居民身份证;

DDL许多。 DataValueField则是“国名”;



参考技术B 哥又来了
这个因为key是sqlserver中的关键字
你把他当表名了
把key 改写成 [key] 估计就可以

string sql = "select KeyID,KeyName from [key] where ItemID='" + DropDownList2.SelectedValue.Trim() + "' ";

ps 慎用关键字做表名字段名本回答被提问者采纳
参考技术C “key”附近有语法错误
这种错误一般是数据库查询语句有问题。仔细查一下吧。
参考技术D 设置父级dropdownlist autopostback为true. 第5个回答  2013-04-22 da.Fill(ds);

我的 php artisan 迁移发生了啥

【中文标题】我的 php artisan 迁移发生了啥【英文标题】:what's happened with my php artisan migrate我的 php artisan 迁移发生了什么 【发布时间】:2015-09-21 10:47:20 【问题描述】:

[照亮\数据库\查询异常] SQLSTATE [42000]:语法错误或访问冲突:1064 你有一个错误我 n 你的 SQL 语法;检查与您的 MySQL 服务器相对应的手册 v 在更新 casc 上删除级联时使用正确语法的版本 ade' 在第 1 行(SQL:alter table users 添加约束 users_address_id_fo 在删除级联上统治外键(address_id)引用address() 在更新级联上)

[PDO异常] SQLSTATE [42000]:语法错误或访问冲突:1064 你有一个错误我 n 你的 SQL 语法;检查与您的 MySQL 服务器相对应的手册 v 在更新 casc 上删除级联时使用正确语法的版本 ade' 在第 1 行

迁移 [--bench[="..."]] [--database[="..."]] [--force] [--path[="..."]] [- -pac kage[="..."]] [--pretend] [--seed]

 public function up()
        
            Schema::create('users',function($table)
                $table->increments('id');
                $table->string('name',30);
                $table->string('phone',11);
                $table->integer('age');
                $table->string('email',50);
                $table->string('marry_status',10);
                $table->integer('address_id');
                $table->foreign('address_id')->reference('id')->on('address')->onDelete('cascade')->onUpdate('cascade');
                $table->integer('points_id');
                $table->foreign('points_id')->reference('id')->on('address')->onDelete('cascade')->onUpdate('cascade');
                $table->timestamps();   
            );
        

php 迁移 --pretend

CreateUsersTable: create table `users` (`id` int unsigned not null auto_increment primary key, `name` varchar(30) not null, `phone` varchar(11) not null, `age` int not null, `email` varchar(50) not null, `marry_status` varchar(10) not null, `address_id` int not null, `points_id` int not null, `created_at` timestamp default 0 not null, `updated_at` timestamp default 0 not null) default character set utf8 collate utf8_unicode_ci

CreateUsersTable: alter table `users` add constraint users_address_id_foreign foreign key (`address_id`) references `address` () on delete cascade on update cascade

CreateUsersTable: alter table `users` add constraint users_points_id_foreign foreign key (`points_id`) references `address` () on delete cascade on update cascade

CreateAddressTable: create table `address` (`id` int unsigned not null auto_increment primary key, `users_id` int not null, `name` varchar(30) not null, `created_at` timestamp default 0 not null, `updated_at` timestamp default 0 not null) default character set utf8 collate utf8_unicode_ci

CreatePointsTable: create table `points` (`id` int unsigned not null auto_increment primary key, `point` int not null, `users_id` int not null, `created_at` timestamp default 0 not null, `updated_at` timestamp default 0 not null) default character set utf8 collate utf8_unicode_ci

我尝试了,但我不好

public function up()
        
            Schema::create('users',function($table)
                $table->increments('id');
                $table->string('name',30);
                $table->string('phone',11);
                $table->integer('age');
                $table->string('email',50);
                $table->string('marry_status',10);
                $table->integer('address_id');

                $table->integer('points_id');

                $table->timestamps();   
            );
            Schema::table('users',function($table)
                $table->foreign('points_id')->references('id')->on('address')->onDelete('cascade')->onUpdate('cascade');
                $table->foreign('address_id')->references('id')->on('address')->onDelete('cascade')->onUpdate('cascade');
            );

        

【问题讨论】:

运行带有--pretend 标志的migrate 命令并向我们展示输出。 @anh 您的问题下方有一个 edit 链接,使用它来修改问题并在此处包含命令的输出,不要在 cmets 中发布该信息. 请用这个输出更新你的问题。它将更具可读性。 @anh 你必须在一个完全独立的迁移文件中进行,该文件必须在创建所有表之后。 【参考方案1】:

您的语法有误。您正在使用reference() 方法,但正确的方法是references()。修复它,我认为一切都会好起来的。

【讨论】:

@anh 发生这种情况是因为您正在尝试为尚不存在的表的列创建外键。查看--pretend 输出。在创建 addresspoints 表之前,您正在创建 2 个外键。将密钥的创建移到另一个迁移中,它将为您带来魅力。

以上是关于dropdownlist级联时 出现语法错误c#.net的主要内容,如果未能解决你的问题,请参考以下文章

Opencv 3.0 加载人脸级联时出错

RTSP/ONVIF协议视频平台EasyNVR级联时上级平台播放视频卡顿的原因排查分析

RTSP/ONVIF协议视频平台EasyNVR级联时上级平台播放视频卡顿的原因排查分析

下拉框级联时如果对应的二级下拉框没有数据则隐藏,有就显示下拉框

我的 php artisan 迁移发生了啥

Java Hibernate 级联问题