c# - SQL execute scalar returning NULL -
queryshelf = "select * shelftable shelfid= @shelfid"; //create mysql command mysqlcommand cmd = new mysqlcommand(queryshelf, connection); cmd.parameters.add(new mysqlparameter("@shelfid", mysqldbtype.varchar)).value = mainwindow.shelfids[i]; //executescalar return 1 value int count = int.parse(cmd.executescalar() + "");
executescalar used return single value, selecting complete records. use executereader , use read records.
but can use executescalar select *. happens first column of first row in result set returned, or null reference if result set empty.
since null seems filter doesn't return record.
since want count change query to:
queryshelf = "select count(*) shelftable shelfid= @shelfid"; // ... int count = (int) cmd.executescalar(); now never null count of records, 0 if no record exists shelfid.
Comments
Post a Comment