哪位对数据库熟悉的高手请进!

zhoulang3 2011-01-10 03:45:38
对表添加数据时,由于该字段在设计表时设置不允许为空,所以无法添加有空值的记录,于是用alter table table1 alter column column1 char null 语句后,可以添加为空的数据,但是后来发现该字段数据后面有许多空格(以前设计时长度为255),
而且执行前面的语句后,打开表结构查看,允许为空选项依然为否. 发现有空格后,首先用alter table table1 alter column column1 varchar null; 修改字段类型,将它改为varchar型.然后再删除以前加的数据后面的空格,执行的语句是update table1 set column=rtrim(column1), 结果这个时候提示 该字段不允许为零长度! 而且插入为空值的时候也不允许插入! 反过来先删除空格然后再改类型为varchar ,插入空值的数据时同样提示不允许插入零长度的数据! 有哪位大虾,帮帮忙吧! 在这里先谢谢啦!
...全文
173 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2011-01-11
  • 打赏
  • 举报
回复
把你这个字段在ACCESS中的表设计界面改
允许空字符串:
wwwwb 2011-01-11
  • 打赏
  • 举报
回复
vba:
CurrentDb.TableDefs("wenti").Fields("RCode").Required = False
CurrentProject.Connection.Execute ("update wenti set RCode=iif(len(trim(RCode))=0,'9999',trim(RCode))")
CurrentProject.Connection.Execute ("alter table wenti alter RCode varchar(30)")
测试通过,你对RCode中的9999进行处理即可,你
你原来RCode中有空字符串
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
可以加你QQ吗?
必填 应该是否,可能有误操作在里面 主要是把以前数据后面的空格删掉,后面添加记录时,RCode字段的数据后面没有空格(可直接改成以前的宽度10);然后可以添加'' 的数据。
谢谢啦!
wwwwb 2011-01-11
  • 打赏
  • 举报
回复
RCode
默认值:""
必填:是
允许空字符串:否
现在要怎么修改?
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
第二个 RCode
wwwwb 2011-01-11
  • 打赏
  • 举报
回复
哪个字段
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wwwwb 的回复:]
必填属性为 是:每条记录必须有此字段的内容,要看到你的MDB才能查找问题所在
[/Quote]

已经上传上去了, 只有一个表! 地址是: http://access911.net/csdn/FileDescription.asp?mdb=2011-1-11&id=12
谢谢啦!
wwwwb 2011-01-11
  • 打赏
  • 举报
回复
必填属性为 是:每条记录必须有此字段的内容,要看到你的MDB才能查找问题所在
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wwwwb 的回复:]
如果可以的话,
上传你的MDB到www.access911.net/csdn
只要有问题的表、查询,用WINRAR压缩
[/Quote]

前面错了,那字段的必填属性为 是。 而在没改它类型之前, 必填属性为 否 ;而且宽度也由10变成255(这个应该是我改变类型时没设宽度,就只有char)
wwwwb 2011-01-11
  • 打赏
  • 举报
回复
如果可以的话,
上传你的MDB到www.access911.net/csdn
只要有问题的表、查询,用WINRAR压缩
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 acmain_chm 的回复:]
alter table table1 alter column column1 char null
改为
alter table table1 alter column column1 varchar(10) null

注意CHAR与VARCHAR的差别。可以在GOOGLE中搜索一下这两种数据类型的定义。
[/Quote]

你这个我之前也试过,如果就是char 还是可以执行删除后面空格的语句, 但是改成varchar就不行了,插入像 values('') 这样的就会提示该字段不允许零长度数据!
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wwwwb 的回复:]
1、alter column column1 char null 语句后,
怎么执行的,ADO?
2、可以添加为空的数据,:是空字符串(即零长度字符串)还是NULL
[/Quote]

语句是在我们公司自己做的一个专门执行SQL语句的软件里面执行的!
而我添加的数据就只是 values('') 这种形式的,就两个单引号
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
同样如此,我用update wenti set RCode='' where RCode='9999' 同样提示
现在我找到的方法就是 还是设类型为char只是加个宽度为10 再删除前面数据后面的空格。只是以前为空的数据还是默认有十个空格! 因为改成varchar null 还是无效! 只要它对以后程序读它时不会出错就可以了! 还是要谢谢你! 呵呵!
WWWWA 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 zhoulang3 的回复:]
引用 15 楼 wwwwb 的回复:
vba:
CurrentDb.TableDefs("wenti").Fields("RCode").Required = False
CurrentProject.Connection.Execute ("update wenti set RCode=iif(len(trim(RCode))=0,'9999',trim(RCode))")
Curren……
[/Quote]
测试了一下,因为你的允许空字符串为否,输入1、2个空格没有问题
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wwwwb 的回复:]
vba:
CurrentDb.TableDefs("wenti").Fields("RCode").Required = False
CurrentProject.Connection.Execute ("update wenti set RCode=iif(len(trim(RCode))=0,'9999',trim(RCode))")
CurrentProject.Connection.……
[/Quote]
以后添加空数据没影响吧!
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 acmain_chm 的回复:]
把你这个字段在ACCESS中的表设计界面改
允许空字符串:是
[/Quote]

可是我只能写SQL语句出来,数据库不在我手里! 只能写语句让别人执行!
zhoulang3 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wwwwb 的回复:]
vba:
CurrentDb.TableDefs("wenti").Fields("RCode").Required = False
CurrentProject.Connection.Execute ("update wenti set RCode=iif(len(trim(RCode))=0,'9999',trim(RCode))")
CurrentProject.Connection.……
[/Quote]

原来有是我加上去的! 因为有些记录RCode值为空! 谢谢你啊!直接执行括号里面的语句吧!
ACMAIN_CHM 2011-01-10
  • 打赏
  • 举报
回复
alter table table1 alter column column1 char null
改为
alter table table1 alter column column1 varchar(10) null

注意CHAR与VARCHAR的差别。可以在GOOGLE中搜索一下这两种数据类型的定义。
wwwwb 2011-01-10
  • 打赏
  • 举报
回复
1、alter column column1 char null 语句后,
怎么执行的,ADO?
2、可以添加为空的数据,:是空字符串(即零长度字符串)还是NULL
zhoulang3 2011-01-10
  • 打赏
  • 举报
回复
ACCESS 数据库,但可能也要用到SQL上面,因为现在已经将ACCESS转换成SQL了,两个库都在用! 必填字段和允许空字符属性 均为否 但是之前我设为char null 时 可以添加进数据为空的记录啊?
加载更多回复(1)
【DQN、PyTorch】使用深度Q网络(DQN)和非正交多址接入(NOMA)的无人机上行链路干扰管理研究(Python代码实现)内容概要:本文研究了基于深度Q网络(DQN)和非正交多址接入(NOMA)技术的无人机上行链路干扰管理方法,旨在解决无人机通信中存在的干扰问题。通过构建DQN强化学习模型,结合NOMA技术特点,对无人机上行链路的资源分配与功率控制进行智能优化,从而提升通信系统的频谱效率和抗干扰能力。文中给出了完整的Python代码实现,涵盖了环境建模、状态空间与动作空间设计、奖励函数设定及DQN算法训练等关键环节,实现了在复杂动态环境下对多无人机通信干扰的有效管理。; 适合人群:具备一定机器学习与无线通信基础知识,熟悉Python编程,从事通信系统优化、强化学习应用研究的相关科研人员及研究生。; 使用场景及目标:①应用于无人机密集通信场景中的上行链路干扰协调;②为基于深度强化学习的无线资源管理提供可复现的技术方案;③推动NOMA与AI融合在6G空地一体化网络中的发展。; 阅读建议:建议读者结合PyTorch框架深入理解DQN网络结构实现细节,重点关注状态特征选取与奖励机制设计对收敛性的影响,并通过调试代码掌握算法在不同场景下的泛化能力。
内容概要:本文对下垂控制与虚拟同步机(VSG)两种并网型(grid-forming)控制策略进行了系统性的性能对比研究,并基于Simulink仿真平台构建了完整的系统模型,开展动态响应分析。研究深入探讨了两种控制策略在频率调节、有功/无功功率分配、电压支撑能力以及应对负载突变、电网扰动等非理想工况下的控制特性差异。内容涵盖控制原理建模、关键参数设计、稳定性分析及仿真验证全过程,重点剖析了VSG在惯性和阻尼模拟方面的优势,以及下垂控制在简单性与可扩展性上的特点,旨在为构网型逆变器在微电网、新能源并网及新型电力系统中的工程应用提供理论支撑与选型依据。; 适合人群:具备电力电子、自动控制理论及新能源并网技术基础知识的研究生、科研人员及相关领域的工程技术人员。; 使用场景及目标:①深入理解下垂控制与虚拟同步机的核心控制原理及其在Simulink中的实现方法;②掌握并对比两者在动态响应速度、系统稳定性、抗扰动能力及工况适应性等方面的性能差异;③为微电网、储能系统、分布式电源等场景下的控制器设计、参数优化与技术路线选择提供仿真验证手段与决策支持; 阅读建议:建议结合提供的Simulink仿真模型进行动手实践,重点关注控制器参数(如VSG的转动惯量、阻尼系数,下垂系数等)对系统性能的影响,通过对比不同扰动工况下的仿真波形,深刻领会两种策略各自的适用边界与优缺点。

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧