c# - 对象或列名丢失或为空
问题描述
我在 C# 中有这个问题,我已经在 SQL Server 中运行了这个查询并且可以工作
SQL查询
SELECT Mineria.dbo.Usuario.ID_Usuario, Mineria.dbo.Usuario.Sexo, Mineria.dbo.Usuario.Idioma, Mineria.dbo.Usuario.Edad, Mineria2.dbo.ARTISTA.Nombre_artistic
INTO Mineria.dbo.Objeto
FROM Mineria.dbo.Usuario
INNER JOIN Mineria2.dbo.ARTISTA ON Mineria2.dbo.ARTISTA.Id_Artista=Mineria.dbo.Usuario.ID_Usuario
AND Mineria.dbo.Usuario.ID_Usuario BETWEEN 35 AND 70
ORDER BY ID_Usuario ASC
我在 c# 代码上找不到问题
SqlCommand comando = new SqlCommand(string.Format("
Select '" + maskedTextBox1.Text + "' , '" + maskedTextBox2.Text + "'
INTO Mineria.dbo.Objeto FROM Mineria.dbo.Usuario INNER JOIN Mineria2.dbo.ARTISTA ON Mineria2.dbo.ARTISTA.Id_Artista=Mineria.dbo.Usuario.ID_Usuario
AND Mineria.dbo.Usuario.ID_Usuario BETWEEN '" + textBox1.Text + "' AND '" + textBox2.Text + "' ORDER BY ID_Usuario ASC"), cn);
解决方案
这可能是因为您在字段名称周围加上单引号(应该什么都没有,因为您使用的是完全限定的名称),以及 BETWEEN 语句中的整数周围(应该什么都没有,因为它们是数字,而不是文本) :
SqlCommand comando = new SqlCommand(string.Format("
Select " + maskedTextBox1.Text + " , " + maskedTextBox2.Text + "
INTO Mineria.dbo.Objeto FROM Mineria.dbo.Usuario INNER JOIN Mineria2.dbo.ARTISTA ON Mineria2.dbo.ARTISTA.Id_Artista=Mineria.dbo.Usuario.ID_Usuario
AND Mineria.dbo.Usuario.ID_Usuario BETWEEN " + textBox1.Text + " AND " + textBox2.Text + " ORDER BY ID_Usuario ASC"), cn);
推荐阅读
- swift - RPBroadcastSampleHandler 无法使用 NotificationCenter 获取通知
- python - Python ValueError:所需数组的深度太小
- amazon-web-services - 如何更改为新的 AWS Cognito 用户池?
- mongodb - 用于修改数组字段的 Mongo 更新查询失败
- eclipse - maven项目中缺少java资源文件夹
- html - CSS div 大于其内部 div 的边框
- visualization - 如何使用 Tableau 使所有队列周从折线图中的 100% 标记开始?
- python - 如何在python中将jsonify字符串转换为json?
- node.js - 在 $text 搜索后返回按列过滤的文档
- sql - 基于其中一张表的子字符串的 SQL 连接表