相关疑难解决方法(0)

我应该如何在mysql_query函数中编写PHP $ _POST变量?

在访问我的数据库时,我让用户填写表单,并在目标页面中,在生成的MySQL查询中使用发布的值.

$query = mysql_query("SELECT pass FROM database WHERE user='$_POST[user]'");
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,MySQL不喜欢我在命令中使用$ _POST变量,它只在我定义(例如)时才有效$user = $_POST['user'];,然后将$ user直接放在SQL命令中.

另一方面,我可以在INSERT语句中使用$ _POST值,其中不需要特定的列名:

$query = mysql_query("INSERT INTO database VALUES ('foo', 'bar', '$_POST[user]'");
Run Code Online (Sandbox Code Playgroud)

如果我尝试定义属性的INSERT语句(例如user='foo'),则会出现相同的问题.

我在SQL查询中做错了什么导致命令在运行时出错,但是使用格式化INSERT命令的特定方法?

希望,这不是"运气不好,看起来你必须分配所有发布的价值".嘿.

php mysql sql post sql-injection

3
推荐指数
1
解决办法
5万
查看次数

使用返回DataTable的方法

请考虑以下示例:

public static DataTable GetDataTable()
{
    using(DataTable dt = new DataTable())
    {
        // fill DataTable logic
        return dt;
    }
}

public void main()
{
    DataTable dt = GetDataTable();

    // contine using dt
}
Run Code Online (Sandbox Code Playgroud)

我是否应该dt可以使用main()或被DataTable处置GetDataTable()

c# datatable idisposable

3
推荐指数
2
解决办法
3万
查看次数

如何在C#中删除Oracle数据库中的行?

当我想基于删除整行时,我遇到了问题id_curse.这是我的代码,这是我得到的错误:

Oracle.DataAccess.dll中发生了未处理的"Oracle.DataAccess.Client.OracleException"类型异常.

附加信息:

外部组件引发的异常.

你能帮我解决这个问题吗?我认为SQL命令中的代码对此不利.

private void button3_Click(object sender, EventArgs e)
{
    Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(provider);
    Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand();

    conn.Open();
    cmd = new Oracle.DataAccess.Client.OracleCommand(" DELETE * from CURSE  WHERE ID_CURSA  = '" +   textBox1.Text + "'", conn);
    cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)

c# oracle sqlcommand

3
推荐指数
1
解决办法
7674
查看次数

无法在C#WinForm应用程序中写入数据库

我对专业编程相对缺乏经验,但我正在尝试编写一个与MS Access数据库接口的程序.基本上我正在收集表单中的信息,并尝试在每个条目的新行传递信息.我有一个开放的OleDbConnection,我的测试显示我能够看到哪个行将有新条目,但是当我点击提交按钮时,catch中没有显示错误,但数据库保持不变.我最初在我从click事件调用的方法中获得了代码,但我只是将代码放到事件处理程序中以验证问题不在于调用.

private void btnSubmit_Click(object sender, EventArgs e)
    {

        if (DBConnection.State.Equals(ConnectionState.Closed))
        {
            DBConnection.Open();
        }

        try
        {
            MessageBox.Show("Save Data at index: " + intRowPosition.ToString());

            OleDbCommand OledbInsert = new OleDbCommand("Insert INTO RetentionTable (DateTime,Center,CSP,MemberID,ContractNumber,RetentionType,RetentionTrigger,MemberReason,ActionTaken,Other) VALUES('" + DateTime.Now.ToString() + "','" + GetCenter("") + "','" + GetName("") + "','" + GetMemberID("") + "','" + GetContractNumber("") + "','" + GetType("") + "','" + GetTrigger("") + "','" + GetReason("") + "','" + GetAction("") + "', + GetOther("")," DBConnection);

            intRowPosition++;
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
            MessageBox.Show(ex.StackTrace.ToString());
        } …
Run Code Online (Sandbox Code Playgroud)

c# ms-access winforms

3
推荐指数
1
解决办法
156
查看次数

尝试从visual c#program更新oracle时出现"无效操作.连接已关闭"错误

我有一个可视化的c#程序正在运行,但每当我尝试更新时,我都会收到连接错误.这是我的代码的样子:

private void Update()
{
    try
    {
        String OneMachineScheduleOrder = "";
        String series = "";
        String oven = "";
        String battery = "";
        int x,y;

        var sortedTextboxes = panel1.Controls
                .OfType<TextBox>() // get all textboxes controls
                .OrderBy(ctrl => ctrl.TabIndex); // order by TabIndex
        foreach (TextBox txt in sortedTextboxes)
        {
            //Console.WriteLine(Convert.ToInt32(txt.TabIndex/2+1) + ": " + txt.Text);
            OneMachineScheduleOrder = (txt.TabIndex / 2 + 1).ToString();
            series = txt.Text.Substring(0, 1);
            oven = txt.Text.Substring(1, 2);
            battery = txt.Text.Substring(4).Trim();
            if (Char.IsLetter(series[0]) && int.TryParse(oven, out y) && int.TryParse(battery, …
Run Code Online (Sandbox Code Playgroud)

c# oracle

3
推荐指数
1
解决办法
2万
查看次数

从VB.NET构建动态sql查询

我搜索并搜索了一个答案,我找不到一个.我有一个选中的列表框,用户可以选择他们在计算机上遇到的问题.在选中的列表框中,您将看到诸如......慢,病毒,坏硬盘......以及根据他们选择的内容,我将告诉他们估计的维修费用.目前这是我构建查询的方式:

Dim mIssues As String = ""

For i = 0 To lstIssues.CheckedItemsCount - 1
 If mIssues = "" Then
  mIssues = String.Format("IssueName = '{0}'", lstIssues.CheckedItems(i))
 Else
  mIssues = String.Format("{0} OR IssueName = '{1}'", mIssues, lstIssues.CheckedItems(i))               
 End If
Next
Run Code Online (Sandbox Code Playgroud)

上面的代码将查看他们选择了多少问题.如果他们只选择一个问题,那么它将返回如下字符串:IssueName ='无论他们选择什么'.如果他们选择了多个问题,它将返回如下字符串:IssueName ='无论选择何种'或IssueName ='第二个选择'.因此,如果他们选择多个问题,我会在所有选项之间附加一个OR.我这样做是为了在我的查询中动态构建我的where子句.

这是我的查询:

Dim mySQL As String = "SELECT IssueID, IssueTypeID, IssueName, IssueDescription, " _
  & "CustomerID, IndividualCost, GroupCost, Active, ChargeType " _
  & "FROM (SELECT IssueID, IssueTypeID, IssueName, IssueDescription, " _
  & "CustomerID, IndividualCost, GroupCost, Active, ChargeType " …
Run Code Online (Sandbox Code Playgroud)

sql vb.net

2
推荐指数
1
解决办法
7045
查看次数

没有给出一个或多个必需参数的值.搜索期间出错

我试图在一个简单的访问数据库中搜索数据.代码是这样的

Call connect()
con.Open()
cmd = New OleDbCommand("Select * from PO_Record_Table where Customer=asd", con)
dr = cmd.ExecuteReader
While dr.Read
    MsgBox(dr(1))
End While

con.Close()
Run Code Online (Sandbox Code Playgroud)

如果我按下搜索按钮,则错误:此行上没有给出一个或多个必需参数的值

dr = cmd.ExecuteReader
Run Code Online (Sandbox Code Playgroud)

记录"asd"在数据库客户字段中作为文本类型.为什么会出现此错误以及如何在没有错误的情况下完成此搜索?

vb.net ms-access

2
推荐指数
1
解决办法
1万
查看次数

像查询这样的sql不起作用

我正在尝试从我的数据库中检索视频名称,其中视频的主题就像我要搜索的主题.

我尝试类似的查询,但它不是返回值.

能否提出建议?

我正在使用c#与sql server.

这是我的代码.

if (con.State == ConnectionState.Open)
     con.Close();
     con.Open();
     string s1 = textBox1.Text;
     cmd = new SqlCommand("select Video_Name,subject from Videos where subject like  '%"+ s1 +" % ' " ,con);

   //cmd = new SqlCommand("select Video_Name from Videos where subject='"+ s1+"' ", con);
            SqlDataReader dr = cmd.ExecuteReader();
            ArrayList a = new ArrayList();
            label2.Visible = true;
            label3.Visible = true;

        //if (dr.Read())
        {
            while (dr.Read())
            {
                a.Add(dr[0].ToString());
            }
            foreach (string n in a)
            {
               comboBox1.Items.Add(n);
            }

            MessageBox.Show("Search succeded");
        }
Run Code Online (Sandbox Code Playgroud)

c# sql-server

2
推荐指数
1
解决办法
136
查看次数

数据不会永久保存到SQL表

我在Visual Studio Express 2012中使用C#作为WPF应用程序.我按照此处的教程进行操作.我创建了一个testDb.mdf基于服务的本地数据库.我打开应用程序,输入文本,点击添加,数据添加到数据库.我只知道这一点,因为我将一个字段设置为主键并且是唯一的.如果我再次尝试添加相同的东西,我会收到错误消息,说它已经存在.

当我退出应用程序时,数据库中没有任何显示.我输入的数据消失了.为什么数据不是永久性的?

这是我用于单击按钮的代码:

private void Add_Click(object sender, RoutedEventArgs e)
{
    SqlConnection cn = new SqlConnection(global::testdb.Properties.Settings.Default.testDBConnectionString);
    try 
    { 
        string sql = "INSERT INTO Test (TestInsert) Values('" + txtName.Text + "')";
        SqlCommand cmd = new SqlCommand(sql, cn);
        cn.Open();
        cmd.ExecuteNonQuery();

        MessageBox.Show("Added new record", "Message", MessageBoxButton.OK);
    }
    catch (Exception ex) 
    {
        MessageBox.Show(ex.Message,"Error", MessageBoxButton.OK);
    }
    finally
    {
        cn.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

连接字符串:

<connectionStrings>
    <add name="testdb.Properties.Settings.testDBConnectionString"
        connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\testDB.mdf;Integrated Security=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

c# sql wpf

2
推荐指数
1
解决办法
1万
查看次数

将日期保存到SQL Server表

我使用以下内容为变量设置日期值:

    Dim someDate As DateTime = Date.Today.AddDays(1) 

    nextMonday = someDate
    While nextMonday.DayOfWeek <> DayOfWeek.Monday
        nextMonday = nextMonday.AddDays(1)
    End While
Run Code Online (Sandbox Code Playgroud)

然后,我使用以下内容将日期插入SQL Server表:

   Private Sub CButton1_ClickButtonArea(Sender As Object, e As MouseEventArgs) Handles CButton1.ClickButtonArea
    Dim doenditstring As String = "INSERT INTO Parsversoeke (ma_datum,di_datum)  " & _
                                     "VALUES (" & _
                                       "'" & nextMonday & "'," & _
                                     "'" & nextTuesday & "')" 

    cnn.Open()
    Dim aksie As New SqlClient.SqlCommand(doenditstring, cnn)

    aksie.ExecuteNonQuery()

    cnn.Close()
Run Code Online (Sandbox Code Playgroud)

它有效,除了我只能在两个日期做.之后我收到以下错误:

从字符串转换日期和/或时间时转换失败

有谁知道我为什么会收到错误?

vb.net sql-server

2
推荐指数
1
解决办法
510
查看次数