数据库路径中有空格如何处理?

lucksea521 2010-05-02 10:57:12
数据库路径中有空格如何处理?
{
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
//string table = @"D:\pro ceo\gkdata30.DBF";
string table = textBox2.Text.Trim ();
if (table == "")
{
MessageBox.Show("请选择正确的数据库!");
return;
}
string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
conn.ConnectionString = connStr;
conn.Open();
try
{
if (conn.State == ConnectionState.Open)
{
MessageBox.Show ("连接成功!");
}
}
catch
{
MessageBox.Show("连接不成功!");
return;
}
OdbcCommand cmd = new OdbcCommand("select * from " + table , conn);
OdbcDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
MessageBox.Show("打开数据库成功!");
return;
}
else
{
MessageBox.Show("打开数据库不成功!");
return;
}

}

如上代码,如果textbox2.text中数据库路径中有空格,红色代码这里就会提示“命令中有无法识别的短语或关键字”。
请问怎样能解决?
...全文
261 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucksea521 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 skep99 的回复:]
引用 6 楼 lucksea521 的回复:
引用 4 楼 skep99 的回复:
没FoxPro
用Oledb连了下access,带空格没问题.

如果路径没有空格,用上面的代码可以连接和打开!


把路径加单引号或双引号括起来试试

如果实在不行,只能曲线救国了.
先写两句了复制语句,把dbf文件拷到不含空格的文件夹里,然后再引入了.

FoxPro出现的时候毕竟是不……
[/Quote]

好像还是不行!我加了一个目录非空格的提示!
多谢各位!
skep99 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lucksea521 的回复:]
引用 4 楼 skep99 的回复:
没FoxPro
用Oledb连了下access,带空格没问题.

如果路径没有空格,用上面的代码可以连接和打开!
[/Quote]

把路径加单引号或双引号括起来试试

如果实在不行,只能曲线救国了.
先写两句了复制语句,把dbf文件拷到不含空格的文件夹里,然后再引入了.

FoxPro出现的时候毕竟是不支持空格的8.3文件名格式盛行的时候.
lucksea521 2010-05-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q107770540 的回复:]
textbox2.text.trim();
[/Quote]
没看明白!
lucksea521 2010-05-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 skep99 的回复:]
没FoxPro
用Oledb连了下access,带空格没问题.
[/Quote]
如果路径没有空格,用上面的代码可以连接和打开!
lucksea521 2010-05-02
  • 打赏
  • 举报
回复
如果SourceDB='" + table + "',
在conn.Open();这里就报“ERROR [S1000] [Microsoft][ODBC Visual FoxPro Driver]Fox Error 1
ERROR [IM006] [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败
ERROR [01000] [Microsoft][ODBC 驱动程序管理器] 驱动程序不支持这个应用程序请求的 ODBC 行为的版本 (参见 SQLSetEnvAttr)。”
skep99 2010-05-02
  • 打赏
  • 举报
回复
没FoxPro
用Oledb连了下access,带空格没问题.
yufenghua 2010-05-02
  • 打赏
  • 举报
回复
支持一楼
CppPower 2010-05-02
  • 打赏
  • 举报
回复
string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB='" + table + "';Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
q107770540 2010-05-02
  • 打赏
  • 举报
回复
textbox2.text.trim();
PowerBI系列之Power Query专题1.  获取数据 数据源种类介绍和获取Excel数据源输入数据和拷贝数据:创建辅助表解析Json/XML数据格式获取Web网页数据和URL添加动态参数连接数据的四种模式:Import、DirectQuery、Live Connection、Dual双 属于混合模式连接数据库:Sql server、 Mysql(直连但是必须先安装一个mysql插件)DirectQuery直连查询:Sql serverODBC方式获取数据表关联或多个Sql或调用存储过程获取数据SQL中动态传参和自定义函数: sql中使用参数或数据库名称使用参数连接Sharepoint和OneDrive数据源连接Dataset和Dataflow 替换本地数据源为Sharepoint数据源并保留数据处理操作 终止当前数据刷新Loading:Cancel Query数据源设置-重置数据连接凭证PBIDS连接数据源创建和使用报表模块(输入或值列表)利用报表模板和参数控制线下报表数据权限DirectQuery启用自动页面刷新和更改检测管理聚合表提高DirectQuery查询性能动态M查询参数提高DirectQuery查询性能添加数据刷新时间 DateTime.LocalNow()和Getdate()2.  数据清洗和M语言M语言和官方文档介绍PowerQuery中查阅M函数:=#shared, Ctrl+Space提示数据清洗之常用技能:提升标题、更改数据类型、保留删除错误或空行,删除重复项、选择列和删除列、填充单元格、合并列、拆分、提取、替换、条件替换、添加自定义列,添加条件列、添加索引列、分组、添加年月日列、追加和合并查询透视和逆透视以及转置合并单元格的Excel文件处理导入文件夹中多Excel文件并合并解决多文件合并中列顺序不一致使用参数和函数批量导入文件 文本中提取中文、英文、数字等处理双引号转义 列拆分详解解决列名改变错误解决列丢失错误动态显示、排序和重命名列为所有列名添加前缀列名字母大写和分隔符调整Trim标题列中的多余空格如何处理load数据错误为什么load的Excel数据有null空行为什么load的Excel数据标题在第二行灵活添加占位符规范同类相似数据数据按多列排序为分组添加Index序号分组内值合并诊断工具分析数据处理过程PowerQuery小技巧分享 新冠病例活动轨迹地图标识 

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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