我有一个字符串作为c_number。我想从我的数据库中获取数据,其中数字是主键。它总是给出c_number无效列的错误。我的列名是数字。
static void movies_on_rent()
{
SqlConnection con;
SqlDataReader reader;
try
{
Console.Clear();
con = new SqlConnection(Properties.Settings.Default.connectionSQL);
con.Open();
Console.Write("Enter Customer phone :");
string c_number = Convert.ToString(Console.ReadLine());
reader = new SqlCommand("select * from customer_info where number=c_number", con).ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Console.WriteLine("{0}\t\t\t{1} {2} {3}", reader.GetString(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetString(3));
}
}
else
{
Console.WriteLine("No rows found.");
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
}
答案 0 :(得分:0)
确保您声明变量。此时C_Number尚未分配给任何内容,并且由于缺少引号(并且大多数情况与您为该列选择的数据类型),因此未将其标记为值。
请尝试执行以下操作。
items[tag].sensors = [];
API.getObjects(sessionData, userDetails, tag).then(links => {
Object.keys(links.link).forEach(link => {
API.getObjects(sessionData, userDetails, link).then(objLink => {
Object.keys(objLink.link).forEach(function (key) {
let obj = objLink.link[key];
if (obj && obj.type === 'sensor') {
API.getSensorNames(sessionData, key).then(response => {
const sensor = response.sensor;
// some sensor calculations....
items[tag].sensors.push(sensor);
});
}
});
});
});
});
// this part only works if it's surrounded with timeout
setTimeout(function() {
let processedItems = [];
for (var key in items) {
if (items.hasOwnProperty(key)) {
processedItems.push(items[key]);
}
}
self.setState({
items: processedItems
});
}, 1000);
另外,使用"使用" " IDisposable"界面可用。