从“DBNull”类型到“Double”类型的转换无效

时间:2016-03-18 19:17:00

标签: mysql sql asp.net vb.net

在我的代码中,我理解查询获取空值并抛出此错误。但由于我的查询有点复杂,我不明白如何检查空值并避免此错误。请帮我纠正这个问题。

SELECT (SUM(charges) + SUM(behaviour) + SUM(admission) + SUM(properInformation) + SUM(hygine) + SUM(treatment))/(count(doctorID) * 6) AverageRating, COUNT(ID) RatingCount from ratings where doctorID = '" + doctorID + "'

2 个答案:

答案 0 :(得分:2)

如果您希望查询不返回NULL,您可以用IFNULL围绕表达式将可能的NULL转换为0,类似于;

SELECT IFNULL((SUM(charges) + SUM(behaviour) + SUM(admission) + 
               SUM(properInformation) + SUM(hygine) + SUM(treatment))
              /(count(doctorID) * 6), 0) AverageRating, 
       COUNT(ID) RatingCount 
FROM ratings 
WHERE doctorID = '" + doctorID + "'

答案 1 :(得分:0)

如果你肯定知道你的查询正确地返回空值,那么你可以使用try-catch块,如下所示:

        <div class='settings'>
            <h4>Account Settings</h4>
            <table class='options'>
                <tr>
                    <td class='name username'>Name</td>
                    <td class='value'>Robert Rocha</td>
                    <td class='edit editName'><a href='#'>Edit</a></td>
                </tr>
                <!-- edit name -->
                <tr class='hidden name-edit'>
                    <td colspan='3'>
                        <table class='edit-name'>
                            <tr>
                                <td class='first'><label for='fname'>First</label></td>
                                <td><input type='text' name='fname' class='fname' id='fname'></td>
                            </tr>
                            <tr>
                                <td class='last'><label for='lname'>Last</label></td>
                                <td><input type='text' name='lname' class='lname' id='lname'></td>
                            </tr>
                            <tr>
                                <td></td>
                                <td colspan='2'class='commit'><a href='#' class='save'>Save</a><a href='#' class='cancel'>Cancel</a></td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td class='name email'>Email</td>
                    <td class='value'>tom@gmail.com</td>
                    <td class='edit'><a href='#'>Edit</a></td>
                </tr>
                <!-- edit email -->
                <tr  class='hidden'>
                    <td colspan='3' class='edit-email'><label for='email'>Email</label><input type='email' name='email' id='email'><a href='#' class='save'>Save</a><a href='#' class='cancel'>Cancel</a></td>          
                </tr>
                <tr>
                    <td class='name pword' colspan='2'>Password</td>
                    <td class='edit'><a href='#'>Edit</a></td>
                </tr>
                <!-- edit password -->
                <tr  class='hidden'>
                    <td colspan='3' class='edit-password'><label for='pword'>Password</label><input type='password' name='pword' id='pword'><a href='#' class='save'>Save</a><a href='#' class='cancel'>Cancel</a></td>
                </tr>
                <tr>
                    <td class='name remove-all' colspan='3'><a href='#'>Delete All Photos</a></td>
                </tr>
                <tr>
                    <td class='name remove-account' colspan='3'><a href='#'>Delete Account</a></td>
                </tr>
            </table>

        </div>
        <!-- end settings -->
相关问题